ingdoo
60
2020-11-16 22:20:42
2
141

nodejs로 페북 로그인 구현할 때


ios 앱에 서버로 nodejs로 개발하고 있습니다.


페이스북 로그인을 구현하는데 클라이언트에서 리다이렉트되는 uri에서 code를 추출하고,

그 code로 accesstoken을 구해야 하는데, 페북 서버에 https post 요청을 보내야하는데,

nodejs에서 http post 요청을 보내는 모듈이 있나요?

찾아보니까 npm request, https 가 있긴 있던데 deprecated된 것 같네요..


질문할 곳이 여기밖에 없네요.. 소셜로그인 관련해서 경험있으신 분들은 답변 남겨주시면 감사하겠습니다...

0
  • 답변 2

  • John Suhr
    3k
    2020-11-16 23:06:40

    http client는 axios가 가장 유명합니다

  • jnshinjn
    35
    2020-11-17 00:12:34 작성 2020-11-17 00:19:41 수정됨
    Axios 쓰셔도 되구 몇 개 더 있습니다

    const getAccessToken = async (url: string, data: OAuthData): Promise<any> =>{
    const response = await axios.post(url, qs.stringify(data), {
    		headers: {
    			'Content-Type': 'application/x-www-form-urlencoded'
    		}})
    	response.data.expired_at = new Date(Date.now() + response.data.expires_in * 1000);
    	return response.data;
    }


    axios.get(facebookOAuth.config.profile_uri,
             {headers: {Authorization: `Bearer ${access_token}`}})
         .then((response: any) => {
             const {data: {name, email,
                 picture: {data: { url }}}
             } = response;
             return res.status(200).json({
                 loginSucess: true,
                 authProvider: 'Facebook',
                 expired_at,
                 access_token,
                 user: {email, name, boolEmailVerified: true, pictureURL: url}});

  • 로그인을 하시면 답변을 등록할 수 있습니다.