具有Ionic 2 PWA的AAD刷新令牌

时间:2017-03-13 18:34:31

标签: azure ionic2 azure-mobile-services

我有一个Ionic 2应用程序,可以作为本机应用程序和Azure网站上托管的渐进式Web应用程序(与我的API应用程序服务站点不同)。在移动端,我可以通过使用移动SDK的登录方法和进行REST调用来成功获得刷新令牌。但是在网络方面(PWA),我无法使用SDK登录,因为InAppBrowser无法正常工作,因为login.microsoftonline.com X-Frame-Options 设置为 DENY 即可。因此,我将浏览器重定向到/.auth/login/aad?session_mode=token&post_login_redirect_url=,并将重定向URL返回到我的PWA索引页面。这通过#token向我发送令牌,我可以解析并使用它来成功验证我的后端API。

对我来说有用的是致电/.auth/refresh。这总是给我错误:

  

sid发出的刷新请求失败,因为没有刷新令牌   在令牌商店中找到了。

API App配置为返回graph.microsoft.com的访问令牌,我可以在/.auth/me的初始调用中看到刷新令牌。我也可以使用/.auth/login/aad直接通过浏览器会话登录,不需要参数。在那里,我可以成功拨打/.auth/me/.auth/refresh

所以我想弄清楚的是如何在浏览器中使这个工作。我需要用户重定向回我的应用程序,因此我指定了post_login_redirect_url参数。有了这个,用户成功登录并重定向到我的应用程序。但是,当/.auth/refresh的调用因上述错误而失败时。我希望这只是没有将正确的参数传递给登录端点但我不确定。

0 个答案:

没有答案