From 7b85b55a02483606aaa503f81683a720280184bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Can=20Y=C4=B1lmaz?= Date: Tue, 2 May 2023 16:22:55 +0300 Subject: [PATCH 1/4] remove clientSecret from login url --- templates/app/react-native/src/api/AccountAPI.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/app/react-native/src/api/AccountAPI.js b/templates/app/react-native/src/api/AccountAPI.js index af303b626a..8a24c7e692 100644 --- a/templates/app/react-native/src/api/AccountAPI.js +++ b/templates/app/react-native/src/api/AccountAPI.js @@ -8,7 +8,7 @@ export const login = ({ username, password }) => 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}&client_secret=${oAuthConfig.clientSecret}`, + data: `grant_type=password&scope=${oAuthConfig.scope}&username=${username}&password=${password}&client_id=${oAuthConfig.clientId}`, baseURL: oAuthConfig.issuer, }).then(({ data }) => data); 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 2/4] 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); From edfae5bf6b453a034e9603bb94736eb5ae1890ed 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 16:57:41 +0300 Subject: [PATCH 3/4] refactor building formData params --- .../app/react-native/src/api/AccountAPI.js | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/templates/app/react-native/src/api/AccountAPI.js b/templates/app/react-native/src/api/AccountAPI.js index cb3e921d24..76a4b7f914 100644 --- a/templates/app/react-native/src/api/AccountAPI.js +++ b/templates/app/react-native/src/api/AccountAPI.js @@ -2,10 +2,11 @@ import api from './API'; import { getEnvVars } from '../../Environment'; const { oAuthConfig } = getEnvVars(); + getLoginData = (username, password) => { - const formData ={ - grant_type:'password', + const formData = { + grant_type: 'password', scope: oAuthConfig.scope, username: username, password: password, @@ -13,11 +14,11 @@ getLoginData = (username, password) => { }; if (oAuthConfig.clientSecret) - formData['client_secret']=oAuthConfig.clientSecret; + formData['client_secret'] = oAuthConfig.clientSecret; - return Array.from(Object.entries(formData)) - .reduce((prev, [key, value]) => prev+=`&${key}=${value}`, '') - .slice(1); + return Object.entries(formData) + .map(([key, value]) => `${key}=${encodeURIComponent(value)}`) + .join('&'); } export const login = ({ username, password }) => @@ -25,10 +26,11 @@ export const login = ({ username, password }) => method: 'POST', url: '/connect/token', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, - data: getLoginData(username,password), - baseURL: oAuthConfig.issuer, + data: getLoginData(username, password), + baseURL: oAuthConfig.issuer }).then(({ data }) => data); + export const Logout = () => api({ method: 'GET', From 8a28b962e25916760d9650c532eae46078ced7c7 Mon Sep 17 00:00:00 2001 From: Mahmut Gundogdu Date: Thu, 11 May 2023 10:50:44 +0300 Subject: [PATCH 4/4] add @abp/ng.components on identity --- npm/ng-packs/packages/identity/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/npm/ng-packs/packages/identity/package.json b/npm/ng-packs/packages/identity/package.json index c84977a333..5949acec64 100644 --- a/npm/ng-packs/packages/identity/package.json +++ b/npm/ng-packs/packages/identity/package.json @@ -9,6 +9,7 @@ "dependencies": { "@abp/ng.permission-management": "~7.0.3", "@abp/ng.theme.shared": "~7.0.3", + "@abp/ng.components": "~7.0.3", "tslib": "^2.0.0" }, "publishConfig": {