我正在將Azure集成到我的應用程序中。我在Active Directory的Azure門戶中創建了應用程序,並使用ADAL庫進行了集成,但是當我運行獲取Microsoft登錄屏幕的應用程序時, 。在目錄中找不到標識符
對於登錄創建的按鈕和的onclick按鈕調用此
if (mResult != null) {
// logout
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeAllCookie();
CookieSyncManager.getInstance().sync();
authenticationContext.getCache().removeAll();
} else {
// login
authenticationContext.acquireToken(LoginActivity.this,Constant.CLIENT_ID,
Constant.CLIENT_SECRETE_KEY, Constant.REDIRECT_URL, "", PromptBehavior.Auto, "",
callback);//CLIENT_ID=my appid at the of app registration //CLIENT_SECRETE_KEY=secret key of registered app in Active Directory //REDIRECT_URL=passing valid url
}
和回調的OnCreate LoginActivity
authenticationContext = new AuthenticationContext(LoginActivity.this,
Constant.AUTHORITY_URL, true);// Authority_URL=https://login.windows.net/mydirectoryname.onmicrosoft.com
的初始化authenticationcontext()
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
authenticationContext.onActivityResult(requestCode, resultCode, data);
}
private void showInfo(String msg) {
Log.e("", msg);
}
private AuthenticationCallback<AuthenticationResult> callback = new AuthenticationCallback<AuthenticationResult>() {
@Override
public void onError(Exception exc) {
showInfo("getToken Error:" + exc.getMessage());
}
@Override
public void onSuccess(AuthenticationResult result) {
mResult = result;
startActivity(new Intent(LoginActivity.this, SecondActivity.class));
if (mResult.getUserInfo() != null) {
Log.v("", "User info userid:" + result.getUserInfo().getUserId()
+ " displayableId:" + result.getUserInfo().getDisplayableId());
}
}
};
和Azure Portal在應用程序註冊中獲得了KEYVAULT和MicrosoftAzureActiveDirectory的許可(登錄並閱讀用戶配置文件許可) 我做錯了什麼?
什麼在Constant.ResourceId中傳遞以及代碼中使用ClientSecretKey的位置 – sss
您不使用客戶端密鑰。您不能在移動應用中使用它,因爲它們在不受信任的環境中運行。資源ID是您想要訪問令牌的資源的URI。所以例如'https:// graph.windows.net /'用於Azure AD Graph API。 – juunas
authenticationContext.acquireToken(LoginActivity.this,Constant.RESOURCE_ID, Constant.CLIENT_ID,Constant.REDIRECT_URL,「」,PromptBehavior。Auto,「」, callback);我使用這個Authority_Url = https://login.windows.net/(mydirectoryname).onmicrosoft.com this Redirect_url =「https://(mydomainname)/ users/auth/azure_oauth2/callback」 這個資源id =「 https://login.windows.net/(mydirectory_id)/oauth2/token「 但得到AADSTS50001錯誤* – sss