Quellcode durchsuchen

add i am smart

master
Anna Ho vor 1 Jahr
Ursprung
Commit
1921626115
4 geänderte Dateien mit 50 neuen und 25 gelöschten Zeilen
  1. +35
    -19
      src/auth/utils.js
  2. +3
    -3
      src/pages/authentication/RegisterCustom.js
  3. +11
    -2
      src/pages/iAmSmart/AuthCallback/index.js
  4. +1
    -1
      src/routes/LoginRoutes.js

+ 35
- 19
src/auth/utils.js Datei anzeigen

@@ -10,42 +10,58 @@ export const hostname = 'localhost';
const hostPort = '8090';
export const hostPath = `http://${hostname}:${hostPort}`;
//export const apiPath = `http://192.168.0.112:8090/api`;
<<<<<<< HEAD
//export const apiPath = `${hostPath}/api`;
export const apiPath = `/api`;
=======

export const apiPath = `${hostPath}/api`;
//export const apiPath = `/api`;
>>>>>>> master

export const paymentPath = `http://pnspsdev.gld.gov.hk/payment`;

export const iAmSmartPath = `https://apigw-isit.staging-eid.gov.hk`;
export const clientId = "cf61fa7c121e4869966f69c8694b1cd2";
export const getBowerType=()=>{

export const iAmSmartCallbackPath = () => {
let hostname = window.location.hostname;
if (hostname.match("localhost")) {
hostname = "pnspsuat.gld.gov.hk";
}
return hostname;
};

export const getNonce = () => {
let hostname = window.location.hostname;
if (hostname.match("localhost")) {
hostname = "pnspsuat.gld.gov.hk";
}
return hostname;
};



export const getBowerType = () => {
console.log(navigator.userAgent)
// const regex = /Mobi|Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Mi|huawei|Opera Mini|SAMSUNG|Samsung|SGH-[I|N|T]|GT-[I|N]|SM-[A|N|P|T|Z]|SHV-E|SCH-[I|J|R|S]|SPH-L/i;
// if(!regex.test(navigator.userAgent))

if (navigator.userAgent.indexOf("Edg") != -1) {
if(navigator.userAgent.match(/Android/i)) return "Android_Edge"
if(navigator.userAgent.match(/iPhone|iPad|iPod/i)) return "iOS_Edge"
if (navigator.userAgent.match(/Android/i)) return "Android_Edge"
if (navigator.userAgent.match(/iPhone|iPad|iPod/i)) return "iOS_Edge"
return "PC_Browser"
}else if(navigator.userAgent.indexOf("Chrome") != -1){
if(navigator.userAgent.match(/Android/i)) return "Android_Chrome"
if(navigator.userAgent.match(/iPhone|iPad|iPod/i)) return "iOS_Chrome"
} else if (navigator.userAgent.indexOf("Chrome") != -1) {
if (navigator.userAgent.match(/Android/i)) return "Android_Chrome"
if (navigator.userAgent.match(/iPhone|iPad|iPod/i)) return "iOS_Chrome"
return "PC_Browser"
}else if(navigator.userAgent.indexOf("Safari") != -1){
if(navigator.userAgent.match(/iPhone|iPad|iPod/i)) return "iOS_Safari"
} else if (navigator.userAgent.indexOf("Safari") != -1) {
if (navigator.userAgent.match(/iPhone|iPad|iPod/i)) return "iOS_Safari"
return "PC_Browser"
}else if(navigator.userAgent.indexOf("Firefox") != -1){
if(navigator.userAgent.match(/Android/i)) return "Android_Firefox"
if(navigator.userAgent.match(/iPhone|iPad|iPod/i)) return "iOS_Firefox"
} else if (navigator.userAgent.indexOf("Firefox") != -1) {
if (navigator.userAgent.match(/Android/i)) return "Android_Firefox"
if (navigator.userAgent.match(/iPhone|iPad|iPod/i)) return "iOS_Firefox"
return "PC_Browser"
}else if(navigator.userAgent.match(/SAMSUNG|Samsung|SGH-[I|N|T]|GT-[I|N]|SM-[A|N|P|T|Z]|SHV-E|SCH-[I|J|R|S]|SPH-L/i)){
} else if (navigator.userAgent.match(/SAMSUNG|Samsung|SGH-[I|N|T]|GT-[I|N]|SM-[A|N|P|T|Z]|SHV-E|SCH-[I|J|R|S]|SPH-L/i)) {
return "Android_Samsung"
}else if(navigator.userAgent.match(/huawei/i)){
} else if (navigator.userAgent.match(/huawei/i)) {
return "Android_Huawei"
}else if(navigator.userAgent.match(/Mi/i)){
} else if (navigator.userAgent.match(/Mi/i)) {
return "Android_Xiaomi"
}
return "PC_Browser";


+ 3
- 3
src/pages/authentication/RegisterCustom.js Datei anzeigen

@@ -9,7 +9,7 @@ import Typography from '@mui/material/Typography';
import iAmSmartICon from 'assets/images/icons/icon_iAmSmart.png';
import banner from 'assets/images/bg_ml.jpg';
import { Stack } from '../../../node_modules/@mui/material/index';
import { iAmSmartPath, clientId, getBowerType } from 'auth/utils'
import { iAmSmartPath, clientId, getBowerType , iAmSmartCallbackPath} from 'auth/utils'

import * as React from 'react';

@@ -25,13 +25,13 @@ const RegisterCustom = () => {
}

const getQRWithIAmSmart = () => {
let callbackUrl = "https://"+window.location.hostname+"/iamsmart/logincallback";
let callbackUrl = "https://"+iAmSmartCallbackPath()+"/iamsmart/authcallback";
let url = iAmSmartPath + "/api/v1/auth/getQR"
+ "?clientID=" + clientId
+ "&responseType=code"
+"&source=" + getBowerType()
+"&redirectURI="+encodeURIComponent(callbackUrl)
+"&scope=eidapi_formFilling"
+"&scope="+encodeURIComponent("eidapi_auth eidapi_profiles")
+"&lang=zh-HK"//en-US, zh-HK, or zh-CN
//+"&state="
+"&brokerPage=false"


+ 11
- 2
src/pages/iAmSmart/AuthCallback/index.js Datei anzeigen

@@ -10,6 +10,8 @@ import {
import * as React from "react";
import { useFormik, FormikProvider } from 'formik';
import * as yup from 'yup';
import { useParams } from "react-router-dom";
//import { iAmSmartPath, clientId, getBowerType , iAmSmartCallbackPath} from 'auth/utils'

import Loadable from 'components/Loadable';
const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent')));
@@ -29,15 +31,22 @@ const BackgroundHead = {

const Index = () => {

const params = useParams();
const [onReady, setOnReady] = React.useState(false);
const [checkUsername, setCheckUsername] = React.useState(false);
const [props, setProps] = React.useState({});

React.useEffect(() => {
setOnReady(true);
setProps({});
if(params.code){
setOnReady(true);
setProps({});
}
}, []);

// function loadIAmSmartProfile(){

// }

function displayErrorMsg(errorMsg) {
return <Typography variant="errorMessage1">{errorMsg}</Typography>
}


+ 1
- 1
src/routes/LoginRoutes.js Datei anzeigen

@@ -54,7 +54,7 @@ const LoginRoutes = {
element: <IAmSmart_AuthCallback/>
},
{
path: 'iamsmart/loginfailback',
path: 'iamsmart/loginfallback',
element: <IAmSmart_FailCallback/>
},
{


Laden…
Abbrechen
Speichern