使用 WSO2 身份服务器通过 JWT 保护 WSO2 微服务

Posted

技术标签:

【中文标题】使用 WSO2 身份服务器通过 JWT 保护 WSO2 微服务【英文标题】:Securing WSO2 microservices with JWT using WSO2 Identity Server 【发布时间】:2017-05-24 05:47:12 【问题描述】:

我发现了这个:

WSO2 Identity Server JWT Access token

但似乎没有人回答。

我想做的是这样的:

1 - 调用 WSO2 身份服务器上的某个 URL 进行身份验证,发送用户名和密码,并让它返回给我一个 Json Web 令牌 (JWT)。这可能必须是 2 个调用,一个用于身份验证,一个用于检索 JWT,但我真的很想避免这种情况。

2 - 通过 Authorization: Bearer 标头将 JWT 传递给 WSO2 微服务

3 - 让微服务自动验证 JWT 并获取用户信息,以便我可以构建安全上下文。我希望每次调用都需要回调 WSO2 身份服务器。

是否有一步一步的指南来让这个工作?我看到的一切都涉及重定向用户以登录 WSO2 身份服务器或生成特定于应用程序客户端而不是特定于用户的 JWT。这应该是 MSF4J 文档的前沿和中心。

【问题讨论】:

【参考方案1】:

您可以查看 MSF4J JWT 声明示例。它逐步解释了场景https://github.com/wso2/msf4j/tree/v2.1.0/samples/jwt-claims

【讨论】:

真的不行:1) Open the travelocity web app from http://localhost:8080/travelocity.com 2) Login using your credentials with SAML SSO. 3) Click on Request OAuth2 Access Token and send to micro service. 我想通过 HTTP POST 登录,而不是通过网页

以上是关于使用 WSO2 身份服务器通过 JWT 保护 WSO2 微服务的主要内容,如果未能解决你的问题,请参考以下文章

带有 WSO2 身份服务器的 Spring Cloud Security

使用 WSO2-AM 处理 JWT

WSO2 APIM - 在 JWT 有效负载中添加用户角色

使用 Spring Security + WSO2 身份服务器的 OAuth 2.0

配置 WSO2 API 管理器自定义身份验证器和声明

将AngularJS应用程序与WSO2身份服务器集成