diff --git a/App.js b/App.js index 9b0b428..bac15b1 100644 --- a/App.js +++ b/App.js @@ -73,7 +73,7 @@ export default function App() { return ( - {!logined ? : } + {logined ? : } ); diff --git a/app.json b/app.json index 7e9ce89..25fd6a9 100644 --- a/app.json +++ b/app.json @@ -17,7 +17,17 @@ "**/*" ], "ios": { - "supportsTablet": true + "supportsTablet": true, + "infoPlist": { + "NSAppTransportSecurity": { + "NSAllowsArbitraryLoads": true + } + } + }, + "android": { + "permissions": [ + "ACCESS_NETWORK_STATE" + ] }, "web": { "favicon": "./assets/favicon.png" diff --git a/assets/account.png b/assets/account.png deleted file mode 100644 index b1bd644..0000000 Binary files a/assets/account.png and /dev/null differ diff --git a/assets/article.png b/assets/article.png deleted file mode 100644 index 9b649da..0000000 Binary files a/assets/article.png and /dev/null differ diff --git a/assets/notification.png b/assets/notification.png deleted file mode 100644 index fc19bee..0000000 Binary files a/assets/notification.png and /dev/null differ diff --git a/assets/organization.png b/assets/organization.png deleted file mode 100644 index 9e0f9ec..0000000 Binary files a/assets/organization.png and /dev/null differ diff --git a/compo/loginview.js b/compo/loginview.js index 17eafee..46213ae 100644 --- a/compo/loginview.js +++ b/compo/loginview.js @@ -1,41 +1,46 @@ import AsyncStorage from '@react-native-community/async-storage'; import React from 'react'; import { StyleSheet, Text, View, TextInput, Button, TouchableHighlight, Alert } from 'react-native'; -import hostaddr from '../config' +import {hostaddr} from '../config' +import * as SecureStore from 'expo-secure-store'; + export default function LoginView(props) { const [username, setUsername] = React.useState(''); const [password, setPassword] = React.useState(''); - const login = () => { - props.onLogin(); - fetch(hostaddr + '/login', { - method: 'POST', - credentials: 'same-origin', - body: JSON.stringify({ - username: username, - password: password - }), - }).then(res => { - if(!res.ok){ - Alert.alert( - '로그인 실패', - '아이디와 비밀번호를 확인해주세요', - [ - { - text: '닫기', - style: 'cancle', - }, - ], - {cancelable: false}, - ); - } - else{ - AsyncStorage.setItem('username', username); - } - return res.text(); - }).then(text => console.log(text)) - .catch((err) => { + const login = async() => { + // props.onLogin();/ + + try{ + let loginHeaders = new Headers(); + loginHeaders.append('Content-Type', 'application/json'); + let res = await fetch(hostaddr + '/user/login', { + method: 'POST', + headers: loginHeaders, + body: JSON.stringify({ + "username": username, + "password": password, + }) + }); + if(!res.ok){ + Alert.alert( + '로그인 실패', + '아이디와 비밀번호를 확인해주세요', + [ + { + text: '닫기', + style: 'cancle', + }, + ], + {cancelable: false}, + ); + } + else{ + await AsyncStorage.setItem('username', username); + await SecureStore.setItemAsync("session", res.headers.get("Set-Cookie")) + } + }catch(err){ Alert.alert( '로그인 실패', String(err), @@ -48,7 +53,7 @@ export default function LoginView(props) { {cancelable: false}, ); console.log(err); - }); + } } return ( diff --git a/package.json b/package.json index b39978f..c34dcbe 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "@react-navigation/bottom-tabs": "^5.7.3", "@react-navigation/native": "^5.7.2", "expo": "~38.0.8", + "expo-secure-store": "~9.0.1", "expo-status-bar": "^1.0.2", "react": "~16.11.0", "react-dom": "~16.11.0", diff --git a/yarn.lock b/yarn.lock index 77cf4ce..889e504 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2731,6 +2731,11 @@ expo-permissions@~9.0.1: resolved "https://registry.yarnpkg.com/expo-permissions/-/expo-permissions-9.0.1.tgz#dc10b58654bbe39bbbed5827369942b01b08055e" integrity sha512-CosJgy8XQRN/OFG2JTQDcFxz3XTGi27coCMym/hVXWtQfk0z6PwdRG5IXHfLGuSckwIcgmirrwm2+Zc0X3MmNg== +expo-secure-store@~9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/expo-secure-store/-/expo-secure-store-9.0.1.tgz#e564a2d5392cd1ab883b9b6a7e261c1815d15788" + integrity sha512-+XgSZTelr57AyIJIGPcB/+QMrrm7wd8KFaF+TD8eJFwEN3B7s+tZyNoPH2JaJkAY0yh9FqcGG4kE3/YgK7GY3Q== + expo-splash-screen@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/expo-splash-screen/-/expo-splash-screen-0.3.1.tgz#4dd79d9d1ab8135281f7cc5889a68e3003223f37"