【问题标题】:Custom Manual Oauth2 Authentication at RESTful ServiceRESTful 服务中的自定义手动 Oauth2 身份验证
【发布时间】:2016-08-31 17:41:43
【问题描述】:

我正在使用 Spring Boot 为我们的移动应用开发一些 RESTful 服务。我使用用户名和密码成功实现了 Oauth2 身份验证。用户可以使用用户名和密码进行身份验证。我们的客户也希望使用他们的自定义令牌进行身份验证。他们有一个 Web 服务,您可以发送令牌并且响应是真还是假。

我的第一个想法是,我可以编写一个类似 /custom-login 的服务,并且该服务接受自定义令牌。在我的服务中,我可以使用外部服务检查此令牌,如果它有效,我将调用 oauth2 身份验证并返回 oauth2 身份验证响应。

如何实现自定义身份验证 oauth2 ?

【问题讨论】:

  • 您可以使用授权码流来实现客户端和用户身份验证。这种流程也最适合移动应用程序。谢谢,

标签: spring spring-security spring-boot oauth-2.0 spring-security-oauth2


【解决方案1】:

OAuth2.0 规范允许自定义授权类型,

因此您的身份验证服务器可以创建自定义授权类型,

例如:假设您想使用 Google 访问令牌向 Google 进行身份验证,因此您将创建名为 google_token

的新 grant_type

所以现在当您的用户想要使用 Google 访问令牌进行身份验证时,他们会像这样通过

grant_type=google_token&client_id=clientId&client_secret=secret&google_token=google-access-token

然后您的身份验证服务器可以使用 Google 验证访问令牌,并可选择验证客户端是否已发布到等等,一旦验证,它可以返回您自己的访问令牌

这适用于第三方身份验证服务器,因此您可以创建多种自定义授权类型

【讨论】:

    猜你喜欢
    • 2011-08-26
    • 1970-01-01
    • 2016-03-15
    • 1970-01-01
    • 2015-04-27
    • 2012-06-19
    • 2015-03-01
    • 2016-02-20
    • 2017-05-25
    相关资源
    最近更新 更多