Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var passport = require("passport");
- var express = require("express");
- var KakaoStrategy = require("passport-kakao").Strategy;
- var appKey = "e3bff27f6c80f2c4ab7ecfea71c84403";
- var appSecret = "N2mqM8xtyyFEjqB5BPRgdBP7KyJ0rbCb";
- // passport 에 Kakao Oauth 추가
- passport.use( new KakaoStrategy({
- clientID: appKey,
- clientSecret: appSecret,
- callbackURL: "http://localhost:3000/oauth"
- },
- function(accessToken, refreshToken, params, profile, done){
- // authorization 에 성공했을때의 액션
- console.log( "accessToken :" + accessToken );
- console.log( "사용자 profile: " + JSON.stringify(profile._json) );
- save(accessToken, refreshToken, profile);
- return done(null, profile._json);
- })
- );
- passport.serializeUser(function(user, done) {
- done(null, user);
- });
- passport.deserializeUser(function(obj, done) {
- done(null, obj);
- });
- // express 앱 설정
- var app = express();
- app.use(passport.initialize());
- app.get("/login", passport.authenticate('kakao',{state: "myStateValue"}));
- app.get("/oauth", passport.authenticate('kakao', {
- successRedirect: "/success", // 바로 밑에 ~~
- failureRedirect: "/fail" // 바로 밑에 ~~
- }))
- app.get("/success", function (req, res) {
- res.send("이건 성공페이지~~")
- })
- app.get("/fail", function (req, res) {
- res.send("이건 실패페이지~~")
- })
- app.get('/logout', function(req, res){
- req.logout();
- res.redirect('/login');
- });
- app.listen(3000);
- // 사용자 구현 부분
- function save(){
- //save 로직 구현
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement