我已经搜索过并花了很多时间围绕着这个问题。给定 client_id , client_secret , authorization_endpoint ,身份验证网址, token_endpoint 等等其他信息 -
*
*
有像redux-oidc这样的库可用,但在反应原生的应用程序中看起来不兼容(遇到错误的兔子洞)。
react-native-jwt在我的react-native应用程序上进行基本导入时,会给出一个未定义的split()错误。
更多信息:我使用redux-saga作为中间件。
希望有人可以帮助我,甚至领导也会得到真正的赞赏。
答案 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
在响应中获得了令牌!