Android:OAuth Microsoft 云健康 API 中未返回刷新令牌

Posted

技术标签:

【中文标题】Android:OAuth Microsoft 云健康 API 中未返回刷新令牌【英文标题】:Android : Refresh token not returned in OAuth Microsoft cloud health API 【发布时间】:2015-11-28 05:33:51 【问题描述】:

使用我的凭据访问 Microsoft Band 的登录 URL 后,我被重定向到包含访问令牌的 URL,但它不返回授权范围 (offline_access) 的刷新令牌。我们是否必须对 Microsoft 帐户进行任何更改才能离线访问?

注意:重定向 URL 中缺少 offline_access 范围

登录网址:(获取访问令牌)

https://login.live.com/oauth20_authorize.srf?client_id=0000000067E8E&scope=offline_access mshealth.ReadDevices mshealth.ReadActivityHistory&response_type=token &redirect_uri=https://login.live.com/oauth20_desktop.srf

重定向网址

https://login.live.com/oauth20_desktop.srf?lc=1033#access_token=EwCgAvF0BAAUkWhN6f8bO0%2bg89MA1fmZueWyRkQAAe%2bPpQEZi2ny0/0knttDAVbenK3VDVzYzmD7HRVQ2rZXp9hSbJE1VvXse%2bZW0IoWqVvgAdHmWleOmKHhB3E4eJ220ztjozrqyxA0Vo/T1/RzW8U2f%2b5FQp6YKnPCXPIOenPz9XqHBapvzZkRTXO666VuJ7cjgcmQ7ANIJyMdu6J1DmEmp5B2pbLlRf/RxGFDzQEuhdHE68ExKtdRgXNGquW9fwKx6uG4Np6tCHebbzOUoY8/oHLS7x/eNUPYJUKMJweljI3FVOBUnaiYfMSY/AUFBvPvjrIoyQIjTmEG81vn3jIbhUVOuC/BTAZcm0aW3tZQLor9TLmd/uDg/P5jPZsDZgAACKznE0lStQmJcAFKavrO1/U7NXE1zzCSj2MHf867kmZ62UNwUmOqfbBHbFmFaNyqLq5d7Brv/RuIKV321t8OEcE8jUp65D9rjTp3jSYWnKP2mwib%2bvOpdtctN41yoCr%2bk8gKcyALtB%2bYbpxAFrN5J471XLzXy0doOCbOmjbU%2bYKy1mZI/j%2b0Hvn7JSL9B3DC1/YqfF21OjjzT8Xtil5Av/kVCpr8KIYpfzxVP4YqavxU1xriw2c4hR1uN%2b9dp4NuurxpeJb%2boUJ9LgikZN3rX2iB4n5e5VxtH0jRPujZd0nTRA8kwhJJzlgrIGsBDoqEDp8xp9KqkUEZ7%2bevvhbRD/9O5x6/4g%2biPORgicWqTEQ4XxvV5LKaeZq4rKxaDemmNI92yHjSjYA2WQNidbjEmRmelA221Sn2AFqp77uOD7%2bTitoXzOPWMrqLjGkcOH9UQdYA9uXbSPvQ7g1AwUPtlB7Y2fh0JlzBa7OyGrzai9mHJ1jmyXRj76/naI0B&token_type=bearer&expires_in=3600&scope=mshealth.readactivityhistory%20mshealth.readdevices&user_id=2c6adaf29f64fe0d0d72670f90c67080

【问题讨论】:

【参考方案1】:

您尝试使用“response_type=token”,但 Microsoft Health API 使用两步“response_type=code”身份验证流程。请参阅Getting Started 指南的第 4.8 节。第一次调用的重定向 URL 包含授权代码作为查询参数。您在第二次调用中使用该代码,该调用返回一个 JSON 响应正文,其中包含访问令牌和(如果请求了 offline_access 范围)一个刷新令牌。

【讨论】:

谢谢伙计。我之前尝试过,但是当我将作用域用作offline_access时忘记将response_type更改为代码。

以上是关于Android:OAuth Microsoft 云健康 API 中未返回刷新令牌的主要内容,如果未能解决你的问题,请参考以下文章

在 android app 中访问 Dropbox、google drive、microsoft onedrive 等中的云共享文件

Microsoft Power Automate 错误的 OAuth 令牌

刷新 Microsoft Live API 的 OAuth 访问令牌

Microsoft Dynamics CRM OAuth 集成

扩展 Microsoft.Owin.Security

Azure Bot服务示例AuthenticationBot登录卡无法正常工作(application / vnd.microsoft.card.oauth)