手順を説明します。 UWPアプリではまだActive Directory Authentication Library を使用できます。
NuGetパッケージを追加する必要があります(上記のリンクを貼り付けました)。あなたがそれを行うたら、あなたのアプリに認証を実装するには、いくつかのステップがあります:App.xaml.csコンストラクタでインスタンスの認証()のために必要な
1)店舗情報:
var localSettings = ApplicationData.Current.LocalSettings;
localSettings.Values["ida:AADInstance"] = "https://login.windows.net/{0}";
localSettings.Values["ida:Tenant"] = "<<Name of your tenant here>>";
localSettings.Values["ida:ClientId"] = "<<Client ID Here>>";
localSettings.Values["ida:RedirectUri"] = "<<Redirect URI here>>";
localSettings.Values["ApiBaseAddress"] = "<<ID of Api Resource here>>";
localSettings.Values["ServiceAddress"] = "<<Address of your Api here>>";
は今書きます
public async Task<bool> Logout()
{
string requestUrl = "https://login.microsoftonline.com/" + _tenant + "/oauth2/logout?post_logout_redirect_uri=" + _redirectUri;
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, requestUrl);
var response = await client.SendAsync(request);
}
:多分あなたはそれを含めることになるでしょう - 私もログアウトするためのコードを含む終わり
class ADContextHelper
{
ApplicationDataContainer _localSettings;
AuthenticationContext _authContext;
string _aadInstance;
string _tenant;
string _clientId;
Uri _redirectUri;
string _authority;
string _apiResourceId;
string _apiBaseAddress;
public ADContext()
{
_localSettings = ApplicationData.Current.LocalSettings;
configureSettings();
_authContext = new AuthenticationContext(_authority);
}
private void configureSettings()
{
_aadInstance = _localSettings.Values["ida:AADInstance"].ToString();
_tenant = _localSettings.Values["ida:Tenant"].ToString();
_clientId = _localSettings.Values["ida:ClientId"].ToString();
_redirectUri = new Uri(_localSettings.Values["ida:RedirectUri"].ToString());
_authority = String.Format(_aadInstance, _tenant);
_apiResourceId = _localSettings.Values["ApiResourceId"].ToString();
_apiBaseAddress = _localSettings.Values["ApiBaseAddress"].ToString();
}
public async Task<string> Authenticate()
{
AuthenticationResult authResult = await _authContext.AcquireTokenAsync(_apiResourceId, _clientId, _redirectUri);
//Here you retrieve the token:
var token = authResult.AccessToken;
return token;
}
}
:認証用のコードは、(これはヘルパークラスです)
これがあなたに役立つことを願っています。
私のUWPアプリはAADで動作しませんので、この[リンク](https://contoso.azurewebsites.net/.auth/login/aad/callback)のようにブラウザとエンドポイントを使用してサインインできますが、サインインしようとするとUWPアプリを使用して、私はリソースを取得することができませんエラーが表示された後、ウィンドウを入力した後、私は自分の電子メールアドレスを入力してヒットを入力します。 Azure ADでもネイティブアプリをセットアップしていないのですか? Azure Mobile Appエンドポイントだけをセットアップしましたか? – yanglinfang1226