首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在微软开发离线应用程序而不让其refresh_token在90天后到期

如何在微软开发离线应用程序而不让其refresh_token在90天后到期
EN

Stack Overflow用户
提问于 2016-03-02 12:17:34
回答 2查看 139关注 0票数 1

刚刚访问了链接"http://www.cloudidentity.com/blog/2015/03/20/azure-ad-token-lifetime/“以供参考,发现从微软OAuth2.0收到的refresh_token只工作90天的,彻底使用之后,我们需要让用户再次认证微软的应用程序

如果offline_access只能在接下来的90天内工作,我们应该如何开发带有refresh_token范围的微软应用程序呢?

用户可能不会再次访问job应用程序,他可能需要微软的应用程序在后台完成它的工作,并达到目的.

我们是否应该通过某种方法(电子邮件、短信、ivr电话)通知用户重新认证微软的应用程序?这对开发人员来说很乏味,对用户来说也很不舒服.

是否有任何压倒一切的机制来解决这一困境?请分享任何想法或解决办法,让我的灵魂安息.

EN

回答 2

Stack Overflow用户

发布于 2016-03-03 06:02:06

目前还没有在Mobile中检索刷新令牌的机制。这是即将为启用的功能,但到目前为止,它还不能通过基本的LoginAsync(“aad”)流获得。本文将讨论如何在本地移动应用程序中最好地处理AAD访问令牌,并将提供帮助。

如果您需要更好的刷新支持,如果您使用的是.NET后端,那么当然可以使用阿达尔。它对LoginAsync有一个重载,它还接受访问令牌(作为JSON对象的一部分,在键“access_token”下)。这允许客户端处理刷新操作。

票数 0
EN

Stack Overflow用户

发布于 2016-03-03 08:46:06

我们可以在Azure中OAuth 2.0的最佳实践上找到报价

刷新令牌没有指定的生存期。通常,刷新令牌的寿命相对较长。但是,在某些情况下,刷新令牌过期、被撤销或缺乏足够的特权来执行所需的操作。客户端应用程序需要正确地期待和处理令牌颁发端点返回的错误。当收到带有刷新令牌错误的响应时,放弃当前刷新令牌并请求新的授权代码或访问令牌。特别是,在授权代码授予流中使用刷新令牌时,如果收到带有interaction_required或invalid_grant错误代码的响应,则放弃刷新令牌并请求新的授权代码。

这意味着,当refresh_token过期时,如果您使用此令牌申请新的access_token,您将得到一个错误。

因此,您可以在代码脚本中编写错误处理程序,当在授权代码授权流中使用刷新令牌时,如果收到带有interaction_requiredinvalid_grant错误代码的响应,则需要丢弃刷新令牌并请求新的授权代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35747030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档