From 3c0f8c95c51db8d5c75451662de19d94ed833734 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Can=20Y=C4=B1lmaz?= Date: Wed, 3 May 2023 11:21:07 +0300 Subject: [PATCH] get login data as urlencoded --- .../app/react-native/src/api/AccountAPI.js | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/templates/app/react-native/src/api/AccountAPI.js b/templates/app/react-native/src/api/AccountAPI.js index 8a24c7e692..cb3e921d24 100644 --- a/templates/app/react-native/src/api/AccountAPI.js +++ b/templates/app/react-native/src/api/AccountAPI.js @@ -2,13 +2,30 @@ import api from './API'; import { getEnvVars } from '../../Environment'; const { oAuthConfig } = getEnvVars(); +getLoginData = (username, password) => { + + const formData ={ + grant_type:'password', + scope: oAuthConfig.scope, + username: username, + password: password, + client_id: oAuthConfig.clientId + }; + + if (oAuthConfig.clientSecret) + formData['client_secret']=oAuthConfig.clientSecret; + + return Array.from(Object.entries(formData)) + .reduce((prev, [key, value]) => prev+=`&${key}=${value}`, '') + .slice(1); +} export const login = ({ username, password }) => api({ method: 'POST', url: '/connect/token', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, - data: `grant_type=password&scope=${oAuthConfig.scope}&username=${username}&password=${password}&client_id=${oAuthConfig.clientId}`, + data: getLoginData(username,password), baseURL: oAuthConfig.issuer, }).then(({ data }) => data);