Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oauth 2.0 打开本机应用程序的ID连接,我需要在初始授权后获得有效的ID令牌而不提示用户?_Oauth 2.0_Openid Connect_Google Openidconnect - Fatal编程技术网

Oauth 2.0 打开本机应用程序的ID连接,我需要在初始授权后获得有效的ID令牌而不提示用户?

Oauth 2.0 打开本机应用程序的ID连接,我需要在初始授权后获得有效的ID令牌而不提示用户?,oauth-2.0,openid-connect,google-openidconnect,Oauth 2.0,Openid Connect,Google Openidconnect,我正在使用系统浏览器进行身份验证。 身份提供者-谷歌 步骤 1-用户通过输入用户名和密码获得授权。我在这里得到了身份验证码 2-我调用令牌端点并获取访问令牌、id令牌和刷新令牌 当ID令牌过期时,我需要获取一个新的有效ID令牌。我需要在不提示用户输入其凭据的情况下执行此操作 问题-是否可以在不提示用户的情况下获取新的id令牌?刷新令牌并不总是返回ID令牌,根据openid规范,它不是一种保证的行为 尝试过的解决方案 使用“prompt=none,login\u hint=username”调用授

我正在使用系统浏览器进行身份验证。 身份提供者-谷歌

步骤

1-用户通过输入用户名和密码获得授权。我在这里得到了身份验证码

2-我调用令牌端点并获取访问令牌、id令牌和刷新令牌

当ID令牌过期时,我需要获取一个新的有效ID令牌。我需要在不提示用户输入其凭据的情况下执行此操作

问题-是否可以在不提示用户的情况下获取新的id令牌?刷新令牌并不总是返回ID令牌,根据openid规范,它不是一种保证的行为

尝试过的解决方案

使用“prompt=none,login\u hint=username”调用授权端点。这仍然会重定向到浏览器并返回到应用程序

有错误的回答


授权例外:{“类型”:1,“代码”:1008,“错误”:“需要交互”}

prompt=none
是正确的选择;当您收到
interaction\u required
时,表示提供商的会话已过期,用户需要再次登录;这是无法避免的,因为您确实需要再次验证用户以防止滥用。如果SSO会话仍然有效(应该在短时间内有效),您将收到新的
id\u令牌

当您已经知道用户的身份时,为什么需要一个新的ID令牌?我们计划使用ID令牌对用户进行系统API调用的身份验证。因此,我们的ID令牌过期,我们将需要一个新的。您还可以查看客户端凭据授予-