스토리지

[06.24] 네이버 로그인 연동 본문

Unity/유니티 기본

[06.24] 네이버 로그인 연동

ljw4104 2021. 6. 24. 14:20

https://developers.naver.com/products/login/api/api.md

 

네이버 아이디로 로그인 - INTRO

환영합니다 네아로의 올바른 적용방법을 알아볼까요? 네이버 아이디로 로그인을 통해 신규 회원을 늘리고, 기존 회원은 간편하게 로그인하게 하려면 제대로 적용하는 것이 중요합니다! 이에 올

developers.naver.com

 

서비스 환경

  1. 유니티에서 로그인 버튼 클릭
  2. Node 서버로 이동 ( 위 이미지의 서비스 URL )
  3. 네이버 로그인 서버로 이동
  4. 네이버 로그인 서버에서 callback으로 들어온 정보를 Node에서 원하는 정보만 Json으로 가공 
  5. 가공된 데이터를 클라이언트로 전송

 

 

서버코드

const express = require("express");
const passport = require("passport");
const NaverStrategy =
  require("./node_modules/passport-naver-v2/build/passport-naver.js").Strategy;
const app = express();
const port = 3030;

//passport 세팅
passport.use(
  new NaverStrategy(
    {
      clientID: "<clientID>",
      clientSecret: "<clientSecret>",
      callbackURL: `http://localhost:3030/api/naver/login/callback`, // 애플리케이션을 등록할 때 입력했던 callbackURL 을 입력해준다.
    },
    (accessToken, refreshToken, profile, done) => {
      // 이곳에서 사용자 계정 관련된 작업을 한다.
      console.log(profile);
      done(null, profile);
    }
  )
);

passport.serializeUser(function (user, done) {
  done(null, user);
});
passport.deserializeUser(function (obj, done) {
  done(null, obj);
});

app.use(passport.initialize());

//라우터 처리
app.get("/", (req, res) => {
  res.send("hello express");
});

app.get(
  "/api/naver/login",
  passport.authenticate("naver", { authType: "reprompt" })
);

app.get(
  "/api/naver/login/callback",
  passport.authenticate("naver"),
  (req, res) => {
    res.send(
      "result :" + JSON.stringify({ state: req.query.state, user: req.user })
    );
  }
);

app.listen(port, () => {
  console.log(`${port}에서 서버 동작중입니다.`);
});

 

Comments