需要帮助使用 React-native、Spring Rest Api 和 ADFS 4.0 实施 OpenID 连接/OAuth2 流
Posted
技术标签:
【中文标题】需要帮助使用 React-native、Spring Rest Api 和 ADFS 4.0 实施 OpenID 连接/OAuth2 流【英文标题】:Need help Implementing OpenID connect/ OAuth2 flow using React-native, Spring Rest Api and ADFS 4.0 【发布时间】:2019-11-19 16:31:44 【问题描述】:我很难理解我应该如何实施我的授权流程。我想我已经使用标题中列出的技术正确地实现了身份验证流程。这是我想要实现的目标:
基本上我有一个使用React-Native
构建的移动应用程序,并且我已经为这个移动应用程序使用了一个restful 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
到ADFS
处的userinfo 端点,返回令牌所有者的主题。就像有什么方法可以让我使用主题接收用户信息或者我应该做什么。我已经尝试了很多研究这个主题,但我仍然很困惑..
【问题讨论】:
【参考方案1】:将访问令牌发送到 Bearer 标头中的 API。在 API 中,验证令牌,并在需要时进行用户信息查找。我的一个 Spring 示例 here 如果有帮助的话。
很高兴回答任何后续问题..
【讨论】:
以上是关于需要帮助使用 React-native、Spring Rest Api 和 ADFS 4.0 实施 OpenID 连接/OAuth2 流的主要内容,如果未能解决你的问题,请参考以下文章