如何使用react-native-app-auth包在令牌交换请求的主体中传递client_id和client_secret?

时间:2019-07-19 12:48:46

标签: react-native oauth appauth

我正在尝试使用原本出色的react-native-app-auth来处理我正在开发的应用程序的OAuth部分。

我正在联系的服务器期望在令牌交换POST请求的主体中包含client_idclient_secret,但是由于不包含该令牌,因此总是导致未经授权的401响应。

我尝试了指定in the docs的许多不同配置选项,例如在additionalParameterscustomHeaders中传递client_id和secret。

// Passing this to the authorize method.
const config = {
            issuer: 'https://example.dev',
            clientId: client_id,
            clientSecret: client_secret
            redirectUrl: 'myapp://auth_success',
            scopes: scopes,
            serviceConfiguration: {
                tokenEndpoint: 'https://example.dev/access-token',
                authorizationEndpoint: `https://example.dev?`,
            }

预期的响应为200,带有新的身份验证和刷新令牌。相反,我找回“参数“ client_secret”和“ client_id”丢失了。

1 个答案:

答案 0 :(得分:0)

强烈建议您避免在本机应用程序中尽可能使用静态client secrets

并且您的代码缺少逗号。

// Passing this to the authorize method.
const config = {
            issuer: 'https://example.dev',
            clientId: client_id,
            clientSecret: client_secret,
            redirectUrl: 'myapp://auth_success',
            scopes: scopes,
            serviceConfiguration: {
                tokenEndpoint: 'https://example.dev/access-token',
                authorizationEndpoint: `https://example.dev?`,
            }