mirror of
https://github.com/mosip/inji-wallet.git
synced 2026-01-09 13:38:01 -05:00
Merge pull request #347 from MonobikashDas/qrloginfeature
Integrated with idp backend
This commit is contained in:
@@ -51,7 +51,7 @@ const model = createModel(
|
||||
export const QrLoginEvents = model.events;
|
||||
|
||||
export const qrLoginMachine =
|
||||
/** @xstate-layout N4IgpgJg5mDOIC5QEUBOAZA9lAlgOwDocIAbMAYgGUBhAQQDl6BJegcQH0ARAeXoFEA2gAYAuolAAHTLBwAXHJjziQAD0QBGIQA4ATAXUAWAKwB2MwfMBOAwYA0IAJ6IAzCfUEAbEaFDXHj0ImWiYGHgC+YfZoWLiExGTknEyUALLJlMJiSCBSMvKKymoIlqYERupGRgbqlkI6FpaW9k4IOh7Ont4+Rs6NWr5azhFRGNj4BLAAFpgA7gDqAIaoePhQ5NS8AGJMAEopmcq5cgpK2UWGlh2WJrVaBlr+DxXNLlpaBDdGWuXqHoP1wxA0TGhCms0Wy1WiWSaUoGVEh2kxwKZw0FSEBGcVR02j+OnU5heCGc+P0XSENW0X1CJkBwNiBBI+AA1gAVVALPCwBYAY3yeHIEEUYCIeAAbphmSL6eMmXg2Ryubz+Qh8BKeQt+ZkDtkjvzChoDJcCNdbvdHh5no5EDpvmV-P5nFpNB4LIE6aMGSRMAsICkHAA1HmwKis7g7PjsCOUAAKvEoggRuqR+tRCBqOksJr+7S0tWurqJzlcHyqGZuBiElnUQ0iQM94zBMzFPPQOFgsiofHQfGorPYAeoOskKZOBtaFXclhzpiEHh0zgsRMqJkxvxMznUW7aFnUHpijemzdb7c7Ab4OyYmwAmsOcqOUaAijicR8Ak71DoTP56kYif4DH0as3EGIRqldWk6xlUEjxbNsO2hVJ0jvPUxzTHFPwIMDfkMQxbTcdQiV+DowNMIIAiEIxLGdfcQQIAAzXkwFoABXWRJnITZaGoSMA1odAmE4FCH1OJ8NDMTxsI8b9NAsNodCLX4ykGEkumuHpXFohlGJ5Zi2I4riePYFg+IEoSkxHPI0LE9MJICcCZLAkx5OXAwOhsAl+iCZxXRqLTxh0vT2PWBgePQYSrMfVRxNXez10tJyXOtBBnQII1GktN5MwJfx-LicUFiZCAmAgMA8HkWQHEQ2F4SySzkVE6KEFnTESiCb4TC+atCOSnpV2+QZLRrAJMyMPLRTFQriBKsqKqqiNWR2a8BwvK8mDoVkmF4CKGvHAlYqkxy5PnIkjT0awCWMXxDF6cbUDAABHFi4FkahFFgWb1i2XZ9gs+9IsaooWt6Uw3lMLqtyLHRzsaRpvyxT9KLux7no7N6uU+uh6DCnbUxs4G2rBzq80h5KXwIeo4fU2pKS0cahTwCgkiQuFcesprdD0MGnW+cozC0KGYdh+HyhxMbATwTBSvgbJoMRAHxwAWg8IllawnxKPKHoKWcMCDHG+IwHl3a0zaghnR0bx5xxedrEUrN0WwiocTnSCRgPGDwSWFY8CgY28aaz8SjS35XVMCwnV6Is8wpkpvi3P4SX1qCG0IOUFU5bk+XZ1CovOepV11qpXUt-xnKJfEPE8TnqOrbFOrd+sPcZH0-UDYN-fZ84NyrnFnTuKivnwotvA+T90stjXq3Gps4NPTu85tYjMW+Rd8QeCk7GSrx3i-bxnNCXpanF926MC1j2IXwHEAMBTkqNIwTWqXQemCCkQhPpu6LVKbitK8q5AtHqgHIolY9CuCNMEO404nR3xaK-TEXwfJbh8nUEoyMnovXRh9cqV9xxH30GYbQFg3ByUqIpVc2hiyTyrJ1YsjdoIEAZkbZMCs0wmF8GUIwOIsSBDnD4LeLQSTuVhgWBGYsIgRCAA */
|
||||
/** @xstate-layout N4IgpgJg5mDOIC5QEUBOAZA9lAlgOwDocIAbMAYgGUBhAQQDl6BJegcQH0ARAeXoFEA2gAYAuolAAHTLBwAXHJjziQAD0QBGACzqATAQCs+nZv0BmABzqL50zoA0IAJ6IA7KaEFNATnPmv6oUMhHUMAX1CHNCxcQmIyck4mSgBZJMphMSQQKRl5RWU1BF1zFwIvHQrTFxdNCxcANgdnBH16j1NbdT8vfW8q9XDIjGx8AhJ8AGsAFVQAQzxYWYBjPLxyCEUwIjwAN0wJraiRwnG8abmF5dWEfD2l2dWMjOUcuQUlLMKtXQMjEwsrL5bE1EF4XOYCEJ6iEXF4ekIOppzIMQEcYmNJjN5osVu9yGBUKhMKgCBISA8AGbEgC2BDRo1O52xV3eN12mHuj1Ezyyr1WBQ0JQhmlhotMZmM+hcIIQNX0nnUhh65h06hcOhKKPphFgAAtMAB3ADqs1QeHwUHI1F4ADEmAAlZI8yTSN75T6IEIeHT+eo1Lyaeriwwy+pggiwtXw9SKjU6LXDdF6w0ms0Wq0Mah8dDO7Ku-kehBegg+9R+7yB4P6GV+dQRlwBIRqoTqjX1BPRUaUfUGviE4kZ+hZnOiF7594Coo9TSQtyqqUx9zApyINpeCNIoVaYzlUwd45jTCzCDJRwANSWsCoU249r47DvlAACrxKIJR7zx+7QIU-fLofoMaATYWjaKGLjylCOjQi4gSmJoOgNPuSY9jsSzoDgsCyFQ2Z8NQUzsGe1C5nyE6Fr4M4BkI3j6DYtEttWK4tDGEb1H6DbmEYAZschozJgaaEYVh5Bnnw9pMDaACaJFfh8P6uLRZRIoqKl0UI5gyiK9SQtobjUZu0KaLxOqoehmHYYkKRpDJuRkfJRTqRCpj1PoTYBj01QVKGPwVIBHT6AGqq1MZBAUssYC0AArrIurkDatBZoRtDoEwnA2W6cmqJ6rklr6-qVoYjHNP4kI2Jo1ENr01EBiFYVLBF0WxfFiUsGeyWpelBb2cWpbltxVahiKuVqmGXT1IG6heLV4VRTFg7Dp1dlZUWOW9flQaFTW2glrBYK0SqZaqiFtyzOMEBMBAYB4PIsiOAkSSpJQ6Qfi6tnfstf4EABQFdKYoHqKG1EECUrnmEIcJ+FC7YRKiiajCdZ0XVdN13XeUz2pJhFiRJTB0FMTC8It72FD1eUVhtIZMQF2mRjUHT1FYPTQ0MnaEKgYAAI6RXAsjUIosDI1atoOk6L15m9mW-hBX0hD9IGaGBTEIfKvTNoGOhVF4zOw6zBDs1zPN8wsgt0EO2ZE5Lq7S99ql-QrANMe4M6RqNDa6NC5hGTD2oEBseAUJZj3PZkr0ZZOAS+AQzmuZNNGefYSshAYunUdCmvaz7+vc1hFpGwL13rJs2x7AcdJw2znPZ-IeBQHnyNsncDzvE8YukcTq42GUYYtuNgFsQGMqqnWNjwSNiFeACe7e+XeuVzzuf84LBJEiSZKUjSZe61n8813X10NxyTeKC3Ifi2HhYR05LluXHrY1qYO2OanY1sciKJ4Jgl3wFk2pjhLk4AFpGhMQAfKOE4CIGQKnizA8cQwB-3PvZYoEJVT+FVCUaC-hNDeXlDYCoipwRCCIeKEKjIsSXFxO9NulsiguWdpYIMQZoK9F6DKOmX0FYQSITHHoU1p6634qmc0NcEFdWWghNh4MCBlnqGDLQ7EAxvxgeibsho+wr1EUtEmLYIQqmjvbeCKoiqrgCCWTc4JtzeA1qQo8J5zyXk0e3BAIph7jTYvBQIwQLDgWdv4Bo5UkTqjMCFfiglzKOJoX4bS4oGyIR9FUIhCdmgMz0EEqw4pApaGgTrA8dUGoxQiZOGoX0Si1CDFYAKCEkkaChKVUeHQNYNGosdXYp1iBI2unIZoocxGFCRHoKU40VT+H2n4QG8oqig3Bj4LwUIXAhW3lhPeshCmFiROucqhlYK6AXA7Zoxg6wTwgv09JHRfAhT9vAz8-9Cz+HXJUxUCIzBIiRJpaCOkRoNlMGCME8EFlzxzrvRe11Vn2RBtI1oDM-pGAsF4GsdZXJEI8n8Go41wjhCAA */
|
||||
model.createMachine(
|
||||
{
|
||||
tsTypes: {} as import('./QrLoginMachine.typegen').Typegen0,
|
||||
@@ -72,6 +72,7 @@ export const qrLoginMachine =
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
linkTransaction: {
|
||||
invoke: {
|
||||
src: 'linkTransaction',
|
||||
@@ -89,6 +90,7 @@ export const qrLoginMachine =
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
showWarning: {
|
||||
on: {
|
||||
CONFIRM: {
|
||||
@@ -99,6 +101,7 @@ export const qrLoginMachine =
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
ShowError: {
|
||||
on: {
|
||||
CANCEL: {
|
||||
@@ -106,6 +109,7 @@ export const qrLoginMachine =
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
loadMyVcs: {
|
||||
entry: 'loadMyVcs',
|
||||
on: {
|
||||
@@ -115,6 +119,7 @@ export const qrLoginMachine =
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
showvcList: {
|
||||
on: {
|
||||
SELECT_VC: {
|
||||
@@ -128,6 +133,7 @@ export const qrLoginMachine =
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
faceAuth: {
|
||||
on: {
|
||||
FACE_VALID: {
|
||||
@@ -141,6 +147,7 @@ export const qrLoginMachine =
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
invalidIdentity: {
|
||||
on: {
|
||||
DISMISS: {
|
||||
@@ -151,10 +158,11 @@ export const qrLoginMachine =
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
requestConsent: {
|
||||
on: {
|
||||
CONFIRM: {
|
||||
target: 'done',
|
||||
target: 'requestingConsent',
|
||||
},
|
||||
TOGGLE_CONSENT_CLAIM: {
|
||||
actions: 'setConsentClaims',
|
||||
@@ -165,6 +173,7 @@ export const qrLoginMachine =
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
done: {
|
||||
on: {
|
||||
DISMISS: {
|
||||
@@ -172,6 +181,21 @@ export const qrLoginMachine =
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
requestingConsent: {
|
||||
invoke: {
|
||||
src: 'sendConsent',
|
||||
onDone: {
|
||||
target: 'done',
|
||||
},
|
||||
onError: [
|
||||
{
|
||||
actions: 'SetErrorMessage',
|
||||
target: 'ShowError',
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
id: 'QrLogin',
|
||||
},
|
||||
@@ -284,6 +308,34 @@ export const qrLoginMachine =
|
||||
});
|
||||
return response.response;
|
||||
},
|
||||
|
||||
sendConsent: async (context) => {
|
||||
console.log('Individual id : ' + context.selectedVc.id);
|
||||
const resp = await request('POST', '/idp-authenticate', {
|
||||
requestTime: String(new Date().toISOString()),
|
||||
request: {
|
||||
linkedTransactionId: context.linkTransactionId,
|
||||
individualId: '3295638027105149',
|
||||
challengeList: [
|
||||
{
|
||||
authFactorType: 'OTP',
|
||||
challenge: '111111',
|
||||
},
|
||||
],
|
||||
},
|
||||
});
|
||||
const trnId = resp.response.linkedTransactionId;
|
||||
|
||||
const response = await request('POST', '/idp-consent', {
|
||||
requestTime: String(new Date().toISOString()),
|
||||
request: {
|
||||
linkedTransactionId: trnId,
|
||||
acceptedClaims: ['email'],
|
||||
permittedAuthorizeScopes: [],
|
||||
},
|
||||
});
|
||||
console.log(response.response.linkedTransactionId);
|
||||
},
|
||||
},
|
||||
}
|
||||
);
|
||||
@@ -376,3 +428,7 @@ export function selectIsSharingPhone(state: State) {
|
||||
export function selectIsSharingGender(state: State) {
|
||||
return state.context.isSharingGender;
|
||||
}
|
||||
|
||||
export function selectIsRequestingConsent(state: State) {
|
||||
return state.matches('requestingConsent');
|
||||
}
|
||||
|
||||
@@ -12,10 +12,15 @@ export interface Typegen0 {
|
||||
type: 'error.platform.QrLogin.linkTransaction:invocation[0]';
|
||||
data: unknown;
|
||||
};
|
||||
'error.platform.QrLogin.requestingConsent:invocation[0]': {
|
||||
type: 'error.platform.QrLogin.requestingConsent:invocation[0]';
|
||||
data: unknown;
|
||||
};
|
||||
'xstate.init': { type: 'xstate.init' };
|
||||
};
|
||||
'invokeSrcNameMap': {
|
||||
linkTransaction: 'done.invoke.QrLogin.linkTransaction:invocation[0]';
|
||||
sendConsent: 'done.invoke.QrLogin.requestingConsent:invocation[0]';
|
||||
};
|
||||
'missingImplementations': {
|
||||
actions: never;
|
||||
@@ -24,7 +29,9 @@ export interface Typegen0 {
|
||||
services: never;
|
||||
};
|
||||
'eventsCausingActions': {
|
||||
SetErrorMessage: 'error.platform.QrLogin.linkTransaction:invocation[0]';
|
||||
SetErrorMessage:
|
||||
| 'error.platform.QrLogin.linkTransaction:invocation[0]'
|
||||
| 'error.platform.QrLogin.requestingConsent:invocation[0]';
|
||||
expandLinkTransResp: 'done.invoke.QrLogin.linkTransaction:invocation[0]';
|
||||
loadMyVcs: 'CONFIRM';
|
||||
setConsentClaims: 'TOGGLE_CONSENT_CLAIM';
|
||||
@@ -37,6 +44,7 @@ export interface Typegen0 {
|
||||
'eventsCausingGuards': {};
|
||||
'eventsCausingServices': {
|
||||
linkTransaction: 'SCANNING_DONE';
|
||||
sendConsent: 'CONFIRM';
|
||||
};
|
||||
'matchesStates':
|
||||
| 'ShowError'
|
||||
@@ -47,6 +55,7 @@ export interface Typegen0 {
|
||||
| 'linkTransaction'
|
||||
| 'loadMyVcs'
|
||||
| 'requestConsent'
|
||||
| 'requestingConsent'
|
||||
| 'showWarning'
|
||||
| 'showvcList';
|
||||
'tags': never;
|
||||
|
||||
@@ -634,7 +634,7 @@ export const vcItemMachine =
|
||||
],
|
||||
},
|
||||
});
|
||||
return response.response.id;
|
||||
return response.response.encryptedWalletBindingId;
|
||||
},
|
||||
|
||||
updatePrivateKey: async (context) => {
|
||||
|
||||
Reference in New Issue
Block a user