FormidableLabs / FormidableLabs/react-native-app-auth
Tiktok support
- Lenguaje dominante
- Java
- Estrellas
- 2.3k
- Forks
- 473
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Some OAuth2 providers have a slightly different implementation than the official specification.
If we take the case of TikTok's implementation, here are the differences in the URL parameters during the authorization procedure:
* The `client_id` parameter is named `client_key`.
* The `scope` parameter value is comma separated and **not URL encoded**.
It should be possible to specify how to change the parameters when generating the authorization URL, for example, by initializing it with new parameters:
```js
const result = await authorize({
customParameterNames: {
clientId: 'client_key'
...
},
encodeParameterValues: {
scope: false
},
staticAuthorizeUrl: 'https://example.com/authorize',
});
```
| Parameter | Type | Description |
| - | - | - |
| customParameterNames | **Object** | Specifies all parameters that should be renamed when generating the authorization URL. |
| encodeParameterValues | **Object** | Specifies all parameters that should be encoded or not when generating the authorization URL. |
| staticAuthorizeUrl | **String** | Specify to skip authorization URL generation and get this one |
Tiktok documentation :
https://developers.tiktok.com/doc/login-kit-web?enter_method=left_navigation
Any ideas?
Guía de contribución
Línea de trabajo
Comienza con la authorize API y la ruta de generación de la URL de autorización; después, compara su gestión de parámetros con la documentación de TikTok Login Kit. Define cómo deben afectar customParameterNames, encodeParameterValues y staticAuthorizeUrl a las URL generadas, y verifica el comportamiento resultante con respecto a los requisitos de TikTok para client_key y los valores de scope separados por comas.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- javascript, react-native
- Área
- authentication, mobile
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100