앱 브릿지 토큰 요청 및 로그아웃 기능 추가
- requestToken 함수 구현 및 토큰 저장 로직 추가 - 토큰 null 체크 및 자동 로그아웃 처리 - 환경 변수 및 빌드 설정 업데이트 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -21,7 +21,7 @@ import {
|
||||
|
||||
export const HomePage = () => {
|
||||
const { callLogin } = useUserInfo();
|
||||
const { openBiometricRegistrationPopup } = useAppBridge();
|
||||
const { isNativeEnvironment, openBiometricRegistrationPopup, requestToken, logout } = useAppBridge();
|
||||
useSetHeaderTitle('');
|
||||
useSetHeaderType(HeaderType.Home);
|
||||
useSetFooterMode(true);
|
||||
@@ -41,6 +41,51 @@ export const HomePage = () => {
|
||||
};
|
||||
*/
|
||||
|
||||
const handleRequestToken = useCallback(async () =>{
|
||||
console.log('handleRequestToken');
|
||||
alert('handleRequestToken');
|
||||
requestToken()
|
||||
.then((token) => {
|
||||
if (!token) {
|
||||
// 토큰이 null인 경우 로그아웃 처리
|
||||
console.error('Token is null, performing logout');
|
||||
useStore.getState().UserStore.resetUserInfo();
|
||||
setLoginSuccess(false);
|
||||
logout();
|
||||
return;
|
||||
}
|
||||
console.log('token', token);
|
||||
|
||||
setLocalStorage(StorageKeys.Usrid, token.usrid);
|
||||
setLocalStorage(StorageKeys.TokenType, token.tokenType);
|
||||
setLocalStorage(StorageKeys.AccessToken, token.accessToken);
|
||||
setLocalStorage(StorageKeys.RefreshToken, token.refreshToken);
|
||||
setLocalStorage(StorageKeys.AccessTokenExpiresIn, token.accessTokenExpiresIn);
|
||||
setLocalStorage(StorageKeys.RefreshTokenExpiresIn, token.refreshTokenExpiresIn);
|
||||
setLocalStorage(StorageKeys.MenuGrants, token.menuGrants);
|
||||
|
||||
useStore.getState().UserStore.setUserInfo({
|
||||
usrid: token.usrid,
|
||||
tokenType: token.tokenType,
|
||||
accessToken: token.accessToken,
|
||||
refreshToken: token.refreshToken,
|
||||
accessTokenExpiresIn: token.accessTokenExpiresIn,
|
||||
refreshTokenExpiresIn: token.refreshTokenExpiresIn,
|
||||
menuGrants: token.menuGrants,
|
||||
});
|
||||
|
||||
setLoginSuccess(true);
|
||||
})
|
||||
.catch((error) => {
|
||||
// 토큰 요청 실패 시 로그아웃 처리
|
||||
console.error('Failed to request token:', error);
|
||||
useStore.getState().UserStore.resetUserInfo();
|
||||
setLoginSuccess(false);
|
||||
logout();
|
||||
});
|
||||
|
||||
}, []);
|
||||
|
||||
const userParmas = {
|
||||
id: 'nictest00',
|
||||
password: 'nictest00'
|
||||
@@ -48,7 +93,7 @@ export const HomePage = () => {
|
||||
|
||||
const handleLogin = useCallback(async () =>{
|
||||
//let appStart = getLocalStorage(StorageKeys.AppStart);
|
||||
|
||||
alert('handleLogin');
|
||||
//if(!!appStart){
|
||||
if(false){
|
||||
useStore.getState().UserStore.resetUserInfo();
|
||||
@@ -80,6 +125,7 @@ export const HomePage = () => {
|
||||
}, []);
|
||||
|
||||
const checkBottomBannerOpen = () => {
|
||||
console.log('checkBottomBannerOpen');
|
||||
if(!!bannerToday){
|
||||
bannerToday = bannerToday.toString();
|
||||
}
|
||||
@@ -92,7 +138,7 @@ export const HomePage = () => {
|
||||
setAuthRegisterOn(true);
|
||||
}
|
||||
}).catch((e) => {
|
||||
console.log('catch')
|
||||
console.log('catch', e)
|
||||
|
||||
}).finally(() => {
|
||||
console.log('finally')
|
||||
@@ -102,7 +148,17 @@ export const HomePage = () => {
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
handleLogin();
|
||||
// handleRequestToken();
|
||||
if (isNativeEnvironment) {
|
||||
alert('isNativeEnvironment');
|
||||
console.log('isNativeEnvironment');
|
||||
handleRequestToken();
|
||||
} else {
|
||||
alert('not isNativeEnvironment');
|
||||
console.log('not isNativeEnvironment');
|
||||
handleLogin();
|
||||
}
|
||||
|
||||
checkBottomBannerOpen();
|
||||
checkAuthRegisterOpen();
|
||||
}, []);
|
||||
@@ -133,7 +189,7 @@ export const HomePage = () => {
|
||||
<div className="tab-content blue">
|
||||
<div className="tab-pane dashboard active">
|
||||
<FavoriteWrapper></FavoriteWrapper>
|
||||
{ !!loginSuccess &&
|
||||
{ loginSuccess &&
|
||||
<DayStatusBox></DayStatusBox>
|
||||
}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user