Azure active directory Azure广告提供刷新令牌,即使我没有';t请求和权限没有脱机访问权限
我真的很难理解到底发生了什么。My is My SPA不断获取刷新令牌,即使我没有请求,Azure上的权限也没有脱机访问权限 我如何才能不获取刷新令牌 我的请求URL(注意不请求脱机访问) Azure上的权限(无脱机访问) 同意屏幕(要求用户给予脱机访问权限) 结果,我有刷新令牌,在客户端上使用刷新令牌不是一个好主意。Azure active directory Azure广告提供刷新令牌,即使我没有';t请求和权限没有脱机访问权限,azure-active-directory,single-page-application,openid-connect,azure-ad-graph-api,openid-client-js,Azure Active Directory,Single Page Application,Openid Connect,Azure Ad Graph Api,Openid Client Js,我真的很难理解到底发生了什么。My is My SPA不断获取刷新令牌,即使我没有请求,Azure上的权限也没有脱机访问权限 我如何才能不获取刷新令牌 我的请求URL(注意不请求脱机访问) Azure上的权限(无脱机访问) 同意屏幕(要求用户给予脱机访问权限) 结果,我有刷新令牌,在客户端上使用刷新令牌不是一个好主意。 使用azure ad v2.0端点时,这是一个已知的问题,相关文章 还提到: 此权限当前显示在所有同意页面上,即使对于不提供刷新令牌的流(例如隐式流)。此设置解决了这样的场景
使用azure ad v2.0端点时,这是一个已知的问题,相关文章 还提到: 此权限当前显示在所有同意页面上,即使对于不提供刷新令牌的流(例如隐式流)。此设置解决了这样的场景:客户机可以从隐式流开始,然后移动到需要刷新令牌的代码流 但这并不影响您不想获取刷新令牌,您使用的是,只是不包括
脱机访问
时,刷新令牌将不会返回
或者,如果您确实不知道应用程序允许您同意此权限的内容,只需使用,然后如果您在请求
代码时未包括脱机访问
,它不允许您同意脱机访问权限。您是如何请求访问令牌的?我使用的是vuex oidc,oidc客户端js在最后执行请求。我上面给出的url是oidc客户端生成的。您添加的请求url仅用于获取身份验证代码。如果您在请求访问令牌时将offline\u access
添加到scope
中,它仍将返回刷新令牌。那么您是说令牌请求期间发生了什么?我查一下。但为什么azure在权限列表中提供不具有脱机访问权限的刷新令牌?似乎不符合我定义的范围(它没有脱机访问权限
),并且在使用代码流
时仍然获得刷新令牌
,以及使用隐式流
的是否刷新令牌
。我用一个服务器端脚本测试了代码流
,在这个脚本中我截取令牌请求并添加/删除脱机访问
,它可以与代码流
一起工作。因此,对于SPA上的代码流
,我是否一直使用刷新令牌
,因为不知道如何拦截oidc客户端js
?@Ergec实际上您可以直接在SPA中使用隐式流,这是一个合适的场景。请参阅@Ergec,因为使用身份验证代码流的目的是返回刷新令牌,代表用户提供对资源的长期访问,而不需要与这些用户交互。如果您不想要刷新令牌,则使用此流毫无意义。我明白了~2万用户和许多可能无人值守的个人电脑,太多了。无论如何,非常感谢你的喜悦。
https://login.microsoftonline.com/........./oauth2/v2.0/authorize?client_id=........&redirect_uri=........&response_type=code&scope=openid%20profile%20email%20User.Read&state=......&code_challenge=........&code_challenge_method=S256&response_mode=query