在Twitter上进行身份验证以访问另一个站点

时间:2020-05-13 14:42:34

标签: java

我在应用程序上工作,该应用程序尝试从站点获取和解析信息的实例被称为“超级站点”。对我需要的数据的访问受到限制,并且是用户身份验证所必需的。我不能要求用户从超级站点发送登录名\密码,但是超级站点具有跨社交身份验证(推特)进行身份验证的可能性。我可以从Twitter获取访问令牌,但是我无法理解如何使用Twitter访问令牌在超级站点上进行身份验证?

2 个答案:

答案 0 :(得分:1)

您的超级站点必须使用oauth流。 每个api都应具有oauth身份验证,并在服务器端完成。

https://blog.restcase.com/4-most-used-rest-api-authentication-methods/

如果他们有Twitter,则可以使用Twitter身份验证流程。他们必须编写代码来了解Twitter用户帐户的链接和授权。因此,如果在数据库中找到该用户,您将以Twitter用户身份登录,您会收到令牌,并且可以基于Twitter用户授权调用api。 该规范的早期版本OAuth 1.0和1.0a比OAuth 2.0复杂得多。最新版本的最大变化是,不再需要使用键控哈希对每个呼叫进行签名。 OAuth的最常见实现使用以下一个或两个令牌代替:

访问令牌:像API密钥一样发送,它允许应用程序访问用户的数据; (可选)访问令牌可以过期。 刷新令牌:(可选)是OAuth流的一部分,如果刷新令牌已过期,则刷新令牌会检索新的访问令牌。 OAuth2结合了身份验证和授权,以允许更复杂的范围和有效性控制。 OAuth 2.0是识别个人用户帐户并授予适当权限的最佳选择。用户以这种方式登录系统。然后,该系统通常会以令牌的形式请求身份验证。然后,用户会将请求转发给认证服务器,认证服务器将拒绝或允许该认证。从这里开始,将令牌提供给用户,然后提供给请求者。这样,令牌就可以由请求者在任何时候独立于用户进行检查以进行验证,并且可以在有限的有效范围和有效期限内随时间使用。

https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/twitter-logins?view=aspnetcore-3.1

答案 1 :(得分:1)

您将在Twitter上使用三足式OAuth。 Here is the link from Twitter为您提供了步骤。如何执行此操作,方法是从Twitter Application Dashboard登录到developer.twitter.com上的twitter帐户,然后在Twitter App上单击以创建访问令牌和访问令牌密钥。将提示您访问超级站点的用户授权对应用程序的访问,用户授予访问权限(单击“是”),最后,您的超级站点会收集OAuth令牌(用户无需发送用户名/密码)并访问该站点。

相关问题