【问题标题】:Long term account linking with Google Home与 Google Home 关联的长期帐户
【发布时间】:2018-10-17 12:03:13
【问题描述】:

目前我在我的应用程序中使用OAuth and Google Sign-In 进行帐户链接。完成此操作后,accessToken 将与请求一起发送到我的 webhook。但accessToken 仅在一个小时内有效。为了让我的应用程序正常工作并拥有流畅的用户交互,我不希望我的用户每小时都链接他们的帐户。那么如何设置更永久的帐户关联流程呢?

【问题讨论】:

    标签: oauth-2.0 actions-on-google


    【解决方案1】:

    这取决于您与帐户链接一起使用的 OAuth 机制的详细信息。

    如果您使用的是隐式流程,则来自您的 OAuth 服务器的令牌被假定为无限期良好。

    如果您使用的是身份验证代码流,那么您应该返回一个短暂的访问令牌和一个没有过期的刷新令牌。当 访问令牌 过期时,Google 将使用此 刷新令牌 联系您的 OAuth 服务器,以获取新的 访问令牌,该令牌将发送到你的网络钩子。

    如果您只需要一个在 Google 助理之外也具有一定有效性的单一、一致的标识符,您可以查看 Google Sign In(适用于应用程序和网站以及 Google 助理)。这将使您能够在获得用户许可的情况下访问用户的 Google ID。

    【讨论】:

    • 感谢您的回复,但您是否对刷新令牌以及我可以在哪里获取/生成该令牌有更详细的说明?我也在尝试使用 Google 登录并使用 IdToken 来验证客户端,这是否是一个长期可行的选择?
    • 我只需要知道是谁发送了请求,例如,我不需要在他们的日历上做任何事情。所以我真的不需要访问令牌,我需要做的就是通过 webhook 在我的服务器端验证用户,这样我就可以使用我们数据库中保存的信息做出个人响应。
    • 我无法提供有关刷新令牌的更多详细信息,因为我没有关于您的 OAuth 服务器的任何信息。 OAuth 服务器在您的控制之下,您还没有说明您正在使用哪个身份验证流程、它是如何配置的、它是自定义构建的还是您使用的是外部服务或其他任何内容。您可以使用此信息更新您的问题,我们或许可以提供更多信息,但尚不清楚您的问题是什么。
    • 使用 Google 登录功能可能适合您的情况。这取决于您所说的“在 [您的] 服务器上验证用户”是什么意思。您可以尝试一下,如果您对其使用有疑问,请发布另一个 SO 问题。
    • 我正在使用 Google 登录方法,看起来这是我需要的,用户将他们的帐户与 Assistant 应用程序相关联,并且每个请求都会发送我用来索引的 conv.user.profile.payload.sub我们服务器上的用户。非常感谢您的时间和帮助!
    猜你喜欢
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 2017-10-03
    • 1970-01-01
    • 2019-12-13
    • 1970-01-01
    • 2019-04-18
    • 1970-01-01
    相关资源
    最近更新 更多