Advertisement
Guest User

Untitled

a guest
Aug 17th, 2019
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. var passport = require("passport");
  2. var express = require("express");
  3. var KakaoStrategy = require("passport-kakao").Strategy;
  4.  
  5. var appKey = "e3bff27f6c80f2c4ab7ecfea71c84403";
  6. var appSecret = "N2mqM8xtyyFEjqB5BPRgdBP7KyJ0rbCb";
  7.  
  8. // passport 에 Kakao Oauth 추가
  9. passport.use( new KakaoStrategy({
  10. clientID: appKey,
  11. clientSecret: appSecret,
  12. callbackURL: "http://localhost:3000/oauth"
  13. },
  14. function(accessToken, refreshToken, params, profile, done){
  15. // authorization 에 성공했을때의 액션
  16. console.log( "accessToken :" + accessToken );
  17. console.log( "사용자 profile: " + JSON.stringify(profile._json) );
  18.  
  19. save(accessToken, refreshToken, profile);
  20. return done(null, profile._json);
  21. })
  22. );
  23. passport.serializeUser(function(user, done) {
  24. done(null, user);
  25. });
  26. passport.deserializeUser(function(obj, done) {
  27. done(null, obj);
  28. });
  29.  
  30. // express 앱 설정
  31. var app = express();
  32. app.use(passport.initialize());
  33. app.get("/login", passport.authenticate('kakao',{state: "myStateValue"}));
  34.  
  35. app.get("/oauth", passport.authenticate('kakao', {
  36. successRedirect: "/success", // 바로 밑에 ~~
  37. failureRedirect: "/fail" // 바로 밑에 ~~
  38. }))
  39.  
  40. app.get("/success", function (req, res) {
  41. res.send("이건 성공페이지~~")
  42. })
  43.  
  44. app.get("/fail", function (req, res) {
  45. res.send("이건 실패페이지~~")
  46. })
  47.  
  48. app.get('/logout', function(req, res){
  49. req.logout();
  50. res.redirect('/login');
  51. });
  52.  
  53. app.listen(3000);
  54.  
  55. // 사용자 구현 부분
  56. function save(){
  57. //save 로직 구현
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement