如何解决Google动作的Auth 2.0登录授权码后未获得刷新令牌作为响应的一部分
Google操作AuthO 2.0无法获取刷新令牌
使用我的Web应用程序成功登录后,我得到访问令牌作为响应。
我在哪里可以获取Google行动上的刷新令牌?
流是Authorization_Code,不是隐式的。
成功进行用户身份验证后,在第一个响应中我可以在哪里看到刷新令牌?
是否可以获取刷新令牌?
我要用户登录,如果访问令牌不存在。如何获取刷新令牌作为代码响应的一部分,如果它是http响应的一部分,如何在GET时访问它该请求是通过后台执行googl动作完成的。
if (isNullOrUndefined(conv.user.access.token))
{
conv.ask(new SignIn('To get your account details'));
}
解决方法
如果需要刷新令牌,Google要求您提供特殊参数access_type=offline
。您需要将其包含在授权URL中,以接收刷新令牌。
Google的Refresh Token docs:
如果您不使用客户端库,则在将用户重定向到Google的OAuth 2.0服务器时,需要将
access_type
HTTP查询参数设置为offline
。在这种情况下,当您将访问令牌交换为授权代码时,Google的授权服务器将返回刷新令牌。然后,如果访问令牌过期(或在任何其他时间),则可以使用刷新令牌来获取新的访问令牌。
请注意,除非您还添加了prompt=consent
参数,否则Google不会为已授权应用程序的用户发放刷新令牌,从而迫使用户肯定地同意应用程序的访问权限。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。