gpt4 book ai didi

oauth - Soundcloud 作为 Oauth 提供者 : How to make it connect only one time

转载 作者:行者123 更新时间:2023-12-01 16:19:31 29 4
gpt4 key购买 nike

我目前正在实现 Oauth 消费者服务,该服务也将使用 Soundcloud 作为 Oauth 服务提供商。但我遇到了以下问题:以 Facebook 或 Twitter 为例,你去那里,你登录,你填写许可表格,然后你被重定向回你的应用程序。如果你第二次去那里,并且假设你已经登录,你基本上会跳过所有步骤并立即被重定向回来。这意味着,Facebook 认识到您已经授予该第 3 方服务许可,因此它不会不断征求您的许可。

这就是我使用 Soundcloud 时发生的情况。基本上每次我将用户重定向到 Soundcloud Oauth 连接端点时,权限表单总是会显示,即使我之前已经授予该第三方服务权限。我每次都被迫按“连接”,从用户的角度来看这是一种拖累(您可以向同一实体授予多少次权限)。我的问题是:是否有一个参数可以让 soundcloud 识别/验证用户帐户之前对该特定第 3 方服务的许可?或者这是 Soundcloud Oauth 设计实现,我们必须忍受它?

编辑:

也许这还不清楚,但每次我在 soundcloud 中按“连接”时,都会生成并传送一个新的访问 token 。由于我的应用程序使用此访问 token 来识别其用户,因此每次我想登录时访问 token 都会更新,这对我来说效果不是很好,这让我每次都能有效地“注册”。总结一下,我想把之前归属到我的账户的 token ,这样我就可以在我的数据库中查找,识别它并让他登录。

我也在寻找一种解决方案,它不涉及在可能被清理的客户端中存储状态。

最佳答案

您可以做的是将用户的 oauth token 存储在本地存储中,并在以后的 session 中重复使用。这就是 soundcloud.com 上发生的事情。

更长的解释:

当您使用 Connect 流程时,用户将通过 SoundCloud 进行身份验证(通过使用用户名/密码、Facebook Connect 或 soundcloud.com 上已经存在的 session ),然后当它成功时,您的应用程序将获得该用户的 oauth token 。这将传递到为您的应用注册的回调页面。

该 token 是让用户“登录”所需的唯一信息。除非 token 过期(按时间或用户手动撤销它),否则您可以在以后的 session 中重用它。

我想我对您的应用程序的设计有点困惑:在哪里以及如何使用 oauth token ?我认为与其使用 token 作为标识符,不如使用用户的永久链接可能更好?如果您有 oauth token ,您可以通过查询 api.soundcloud.com/me 找到固定链接。

关于oauth - Soundcloud 作为 Oauth 提供者 : How to make it connect only one time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14518420/

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