gpt4 book ai didi

oauth-2.0 - 谷歌oauth使用js api获取刷新 token

转载 作者:行者123 更新时间:2023-12-02 12:38:03 27 4
gpt4 key购买 nike

我的应用程序需要使用 Google plus 注册用户,然后显示用户的个人资料数据。当用户在 Google plus 上编辑其个人资料并再次访问我的应用程序时,该应用程序需要显示更新的数据。因此,应用程序需要存储access_token和refresh_token以供将来使用。我想使用 google 的 js api 来管理所有这些,而不需要任何服务器端 google-api-client。

问题是我无法使用 js api 检索刷新 token 。我设置了一个jsfiddle here 。 google plus相关代码如下:

$('#signInButton').click(function () {
attributes = {
'accesstype': 'offline',
'clientid': "260932337012-1gdbsh3p7oknkjmeaa7m9q7e6nhhgd9c.apps.googleusercontent.com",
'scope': 'email profile',
'cookiepolicy': 'single_host_origin',
'approvalprompt': 'force',
'callback': signInCallback
};

gapi.auth.signIn(attributes);
});

function signInCallback(authResult) {
alert(authResult.request_token);
}

尽管将 accesstype 设置为离线,但仍不会返回 refresh_token。我在这里做错了什么?

提前致谢。

最佳答案

纯粹使用基于 JavaScript 浏览器的应用程序的客户端流程来获取刷新 token 是不可能的。这是使用 OAuth 2.0 的隐式授权类型时的一项安全功能。

刷新 token 仅适用于服务器端或混合流。

仅使用 javascript,您只需再次登录用户,或者如果他们尚未注销,您可以使用 'immediate': true 参数在幕后对他们进行身份验证,即无需向他们展示另一个 UI 弹出窗口。

关于oauth-2.0 - 谷歌oauth使用js api获取刷新 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23430289/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com