Authentication oAuth 2.0-代表用户行事

Authentication oAuth 2.0-代表用户行事,authentication,oauth,oauth-2.0,Authentication,Oauth,Oauth 2.0,我是oAUth2的新手,我正试图弄清楚一些事情 我理解oAuth2涉及的基本原则,但我不确定在我的情况下如何实现它 我正在编写一个应用程序,它代表用户自动执行手动过程并执行一些任务(更新/请求状态等)。我们连接到的API使用oAuth2授予我们的应用程序权限。我们计划让用户在与我们创建新帐户时授予我们的应用程序权限 我理解用户将请求提供给我们的应用程序的身份验证代码。然后,我们的应用程序将使用身份验证代码生成访问令牌 我们只想这样做一次。然后作为用户发送和接收通知,而不必让用户使用其凭据登录服务

我是oAUth2的新手,我正试图弄清楚一些事情

我理解oAuth2涉及的基本原则,但我不确定在我的情况下如何实现它

我正在编写一个应用程序,它代表用户自动执行手动过程并执行一些任务(更新/请求状态等)。我们连接到的API使用oAuth2授予我们的应用程序权限。我们计划让用户在与我们创建新帐户时授予我们的应用程序权限

我理解用户将请求提供给我们的应用程序的身份验证代码。然后,我们的应用程序将使用身份验证代码生成访问令牌

我们只想这样做一次。然后作为用户发送和接收通知,而不必让用户使用其凭据登录服务

由于身份验证代码和身份验证令牌过期,我不知道如何在不存储用户凭据的情况下实现此功能以获取身份验证代码。我猜这是一种常见的情况

我需要做什么才能实现我想要的

如果授权服务器提供刷新令牌,则可以使用刷新令牌获取新的AccessToken

如果没有提供,我会联系Api提供商,您不应该存储用户凭据。事实上,如果OAuth协议作为客户机得到了很好的实现,那么您就永远无法获得客户机凭据。当用户必须登录时,您应该将用户重定向到授权服务器,用户应该在那里登录,然后授权服务器应该将授权令牌重定向到您的应用程序

另请参见OAuth 2.0规范中有关刷新令牌的说明:

刷新令牌是用于获取访问令牌的凭据。刷新 令牌由授权服务器颁发给客户端,并且 用于在当前访问令牌失效时获取新的访问令牌 变得无效或过期,或获取其他访问令牌 具有相同或较窄的范围(访问令牌可能具有较短的 生存期和权限少于资源授权的权限 所有者)。发布刷新令牌是可选的,由 授权服务器。如果授权服务器发出刷新 令牌,在颁发访问令牌时包括该令牌

注意


如果使用RefreshToken请求新的AccessToken,并且响应中包含新的RefreshToken,则应覆盖当前保存的RefreshToken。换句话说,您应该始终使用收到的最新参考资料。

同意!回答得好。这里的答案是刷新令牌。另外:永远不要存储用户的信誉@JosVinke-我们得到一个刷新令牌。因此,我假设访问令牌是短期的,而刷新令牌是长期的。这正是我想知道的。@esquire是的,没错。有些实现与Instagram不同,例如Instagram确实使用长寿命访问令牌。