簡體   English   中英

從Microsoft OAuth2.0獲取id_token

[英]Getting id_token from Microsoft OAuth2.0

Cordova插件: https : //github.com/nraboy/ng-cordova-oauth和ionic v1

我正在使用oauthWindowslive的修改版本。 我正在嘗試從Microsoft OAuth2.0獲取id_token 由於我使用該服務來獲取一些Outlook日歷數據,因此我使用以下方法:

var browserRef = window.cordova.InAppBrowser.open('https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=' + clientId + "&scope=openid+profile+User.Read"  + '&response_type=token&response_mode=fragment' + '&display=touch' + '&redirect_uri=' + redirect_uri, '_blank', 'location=no,clearsessioncache=yes,clearcache=yes');

但是,如果我為response_type插入id_token+token ,則無法進行身份驗證。 即使我嘗試id_token使用id_token也無法進行身份驗證。

我終於讓它工作了。 Web服務對兩件事很挑剔:

  1. id_token必須在令牌之前,並且應該在response_type提示符之后。 RESPONSE_TYPE = id_token +令牌
  2. 盡管文檔說使用http:// localhost / callback是可以的 -實際上,事實並非如此。 至少,在混合應用程序上,它必須是https://login.live.com/oauth20_desktop.srf

有趣的是,對於其他Oauth服務(例如Google和Facebook本地主機/回調)來說,它也可以正常工作。 Microsoft由於某種原因需要特殊對待。 如果Microsoft有人在聽-請清理並合並您的身份平台和文檔。 開發人員無需花5天的時間就能發現如此瑣碎的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM