我是OAuth2概念的新手,但我尝试设置一个简单的系统,该系统将由2个单独的微服务组成(还没有UI,将使用REST客户端进行测试):
1.授权服务器拥有自己的数据库,该数据库将拥有用户实体、凭证、例如MFA所需的所有其他信息。
1.有自己的数据库的资源服务器,它将有一个用户投影实体。我希望我的资源服务器驱动UserManagement流,它将保存在其一侧的非认证用户信息,如地址,标题,徽标等,并将只调用认证服务器来存储认证信息。
如果我正确地理解了oauth2流,我将不得不:
1.首先使用用户/密码调用授权服务器以获取访问令牌。
1.然后使用这个访问令牌,我将调用我的资源服务器。
1.资源服务器应调用授权服务器来验证令牌。
我的问题回答了步骤3。我所做的是在授权服务器端进行一些基本配置:
security:
oauth2:
client:
client-id: clientId
client-secret: very-strong-secret
provider:
issuer-uri: http://localhost:8080/oauth/token
在资源服务器端:
spring:
security:
oauth2:
resourceserver:
jwt:
issuer-uri: http://localhost:8080/oauth/token
我的资源服务器在端口8081上启动,并在运行授权服务器的端口8080上调用本地主机。
我能够获得访问令牌,但当我调用资源服务器时(我假设spring使用了一个魔术,在后台调用auth服务器),我得到错误:
Unable to resolve the Configuration with the provided Issuer of "http://localhost:8080/oauth/token"
我应该如何确切地指示资源服务器验证令牌?
1条答案
按热度按时间5w9g7ksd1#
这很简单,如果你没有显式地配置发布者URI,默认值是host:port。(在你的例子中,它只是
http://localhost:8080
)