适用于React Native的OpenID Connect混合流

时间:2019-03-22 04:46:39

标签: android react-native openid openid-connect

我需要在React Native应用程序中实现混合代码身份验证流程,以使用OpenID Connect Identity Provider进行身份验证。具体来说,IdP期望code id_token作为响应类型。

我使用了react-native-app-auth和底层的OpenID AppAuth-Android库,但它们当前不支持此流程-请参阅问题#75#218。它们仅支持单个响应类型,例如“代码”或“令牌”。因此,我从IdP收到一个错误,说Unauthorized Client。我正在发送适当的范围。

到目前为止我已经采取的步骤:

  1. 修改Android的react-native-app-auth源代码以设置响应类型-尝试提供以空格分隔的值(code id_token),URL编码的字符串(code%20id_token)和字符串化的JSON数组({{1 }})。这没用。
  2. 使用Web视图登录-我无法从网页中提取最终令牌-它们存储在会话存储区中,我需要将其取出到应用程序中。对于我的用例,该过程也有些复杂,因为我需要在身份验证之后监视多个流,并且需要在auth响应中返回一些参数。

作为最后一步,我正在修改OpenID Connect客户端的官方Android库-OpenID AppAuth Android。将尝试将其作为对react-native-app-auth的依赖。

如何在React Native应用程序中实现混合代码流?我们非常感谢您的帮助。

0 个答案:

没有答案