我真的很难理解大多数我应该如何实现授权流程。我认为我使用标题中列出的技术可以正确地实施身份验证流程。这是我要实现的目标:
基本上,我有一个使用React-Native
构建的移动应用,并且为该移动应用制作了一个宁静的API。目前,我已经使用ADFS 4.0
实现了身份验证。我的移动应用程序直接使用ADFS
端点对用户进行身份验证,我可以从那里接收id_token并正确访问令牌。但是这里有我不知道下一步要做什么的部分。在使用openID之前,我有自己的身份验证,Spring REST Api
中只有一个OAuth2流,每次我从移动应用向API发送请求时,我都在标头中提供了访问令牌,并使用它来验证从授权服务器上确实已对用户进行了身份验证,并且还收到了一些有关用户的重要信息,以便在我的API中使用。但是现在,由于我使用OpenID-Connect
和ADFS 4.0
进行身份验证,因此id_token
中的API中提供了重要信息。问题是,我现在应该从移动应用程序id_token
,access token
或两者同时发送给我的API到底是什么?将access token
的{{1}}赋予ADFS
的userinfo端点,返回令牌所有者的主题。就像有什么办法可以使用主题或我应该怎么做来接收用户信息。我已经尝试了很多研究,但是我还是很困惑。
答案 0 :(得分:0)
将访问令牌发送到Bearer标头中的API。在API中,验证令牌,并在需要时执行用户信息查找。我的一个Spring示例可以帮助您:https://github.com/authguidance-examples/authguidance.websample.springbootapi/blob/master/api/src/main/java/com/mycompany/api/basicapi/framework/security/OAuthAuthenticator.java
很高兴回答任何后续问题..