React Native应用程序 - 如何使用oauth 2.0和Open ID连接?

时间:2016-12-02 19:02:18

标签: oauth-2.0 react-native redux openid-connect redux-saga

我已经搜索过并花了很多时间围绕着这个问题。给定 client_id client_secret authorization_endpoint 身份验证网址 token_endpoint 等等其他信息 -

*

  1. 如何通过ajax调用连接获取身份验证令牌?
  2. 当我收到JWT时,我该如何解析?
  3. *

    有像redux-oidc这样的库可用,但在反应原生的应用程序中看起来不兼容(遇到错误的兔子洞)。

    react-native-jwt在我的react-native应用程序上进行基本导入时,会给出一个未定义的split()错误。

    更多信息:我使用redux-saga作为中间件。

    希望有人可以帮助我,甚至领导也会得到真正的赞赏。

1 个答案:

答案 0 :(得分:1)

我搞定了!这就是我所做的。

1。)使用base64编码的客户端ID和密码设置授权标头。

'Authorization': 'Basic ' + Base64.encode([client_id]:[client_secret])

我使用了来自互联网的免费Base64库,而不是依赖于Javascript的btoa()

2.。)我使用参数({ grant_type: 'client_credentials', ...})和我的范围向 / connect / token 发出了POST请求。确保数据是通过 application / x-www-form-urlencoded

发送的

在响应中获得了令牌!