0

このプロジェクトのソースをダウンロードしましたhttp://code.msdn.microsoft.com/windowsazure/MVC4-Web-API-With-SWT-232d69da#content ACS 認証とそれを MVC に適用する方法を理解しようとしているためです。ウェブ API。

コードにはこれがあります:

// USE CONFIGURATION FILE, WEB.CONFIG, TO MANAGE THIS DATA
static string serviceNamespace = "<YOUR SERVICE NAMESPACE>";
static string acsHostUrl = "accesscontrol.windows.net";
static string realm = "<REALM>";
static string uid = "USERNAME";
static string pwd = "PASSWORD";
static string serviceUrl = "http://localhost:51388/api";
static string serviceAction = @"/values";

私が使用することを要求しているユーザー名とパスワードは何ですか? 「サービス ID」を作成し、「パスワード」オプションを使用する必要がありますか?

4

1 に答える 1

2

次の関連記事を読む必要があります: http://blogs.msdn.com/b/alikl/archive/2011/06/05/how-to-request-swt-token-from-acs-and-how- to-validate-it-at-the-rest-wcf-service-hosted-in-windows-azure.aspxの手順に従って、SWT トークンを発行するように ACS を構成します。「REST Web サービスのサービス ID を構成するには」セクションを完了するときに入力した情報がここに表示されます。

パスワードに対称キーを使用している場合は、クライアントが例とは異なる方法で ACS からトークンを要求する必要があります。次のコードは、その要求の例であり、http://msdn.microsoft.com/en-us/library/hh674475.aspxから取得したものです。「SWT トークン要求」セクションを参照してください。

WebClient client = new WebClient();
client.BaseAddress = string.Format("https://mysnservice.accesscontrol.windows.net");

NameValueCollection values = new NameValueCollection();
// add the wrap_scope
values.Add("wrap_scope", "http://mysnservice.com/services");
// add the format
values.Add("wrap_assertion_format", "SWT");
// add the SWT
values.Add("wrap_assertion", "Issuer=mysncustomer1&HMACSHA256=b%2f%2bJFwbngGdufECFjQb8qhb9YH0e32Cf9ABMDZFiPPA%3d");
// WebClient takes care of the remaining URL Encoding
byte[] responseBytes = client.UploadValues("WRAPv0.9", "POST", values);

// the raw response from ACS
string response = Encoding.UTF8.GetString(responseBytes);
于 2013-08-30T20:48:05.153 に答える