// // daum // daumAuth(req, res) { // For eg. "http://localhost:3000/daum/callback" const params = { redirect_uri: makeRedirectUri(req, this.daumRedirectUri), response_type: "code" }; console.log("params", params); return res.redirect(this.daumOAuth2.getAuthorizeUrl(params)); }
oauth2.getOAuthAccessToken( '', {'grant_type':'client_credentials'}, function (e, access_token, refresh_token, results){ console.log('bearer: ', access_token ); } );
///////////////////////////////////////////////////////// // login endpoint // ///////////////////////////////////////////////////////// router.post('/login', (req, res) => { req.session.redirect = req.body.origin || '/' const authURL = oauth2.getAuthorizeUrl({ redirect_uri: config.forge.oauth.redirectUri, scope: config.forge.oauth.scope.join(' ') }) res.json(authURL + '&response_type=code') })
async function getTwitterUserProfileWithOAuth2 (username = 'twitterdev') { var oauth2 = new OAuth.OAuth2( process.env.TWITTER_CONSUMER_KEY, process.env.TWITTER_CONSUMER_SECRET, 'https://api.twitter.com/', null, 'oauth2/token', null ) const getOAuthAccessToken = promisify(oauth2.getOAuthAccessToken.bind(oauth2)) const accessToken = await getOAuthAccessToken('', { grant_type: 'client_credentials' }) return got(`https://api.twitter.com/1.1/users/show.json?screen_name=${username}`, { headers: { Authorization: `Bearer ${accessToken}` } }) .then((res) => JSON.parse(res.body)) }
/** * * @param {string} clientId * @param {string} clientSecret * @param {string} baseUrl - url to the OAuth server, emitting "/oauth/*" endpoints * @returns {Promise<any>} */ async function getAccessTokenForDestinationInstance(clientId, clientSecret, baseUrl) { if (cfenv.getAppEnv().isLocal) { return Promise.resolve("mockLocalAccessToken") } return new Promise((resolve, reject) => { const oAuthClient = new OAuth2(clientId, clientSecret, `${baseUrl}/`, "/oauth/authorize", "oauth/token", null) oAuthClient.getOAuthAccessToken( "", { grant_type: "client_credentials" }, (err, accessToken, refreshToken, results) => { if (err) { reject(err) } resolve(accessToken) } ) }) }
function searchTwitter(query, cb) { const searchQuery = urlencode(`${query}`); spinner.start(); oauth2.getOAuthAccessToken('', { grant_type: 'client_credentials', }, (error, accessToken) => { const options = { hostname: 'api.twitter.com', path: `/1.1/search/tweets.json?q=${searchQuery}`, headers: { Authorization: `Bearer ${accessToken}`, }, }; https.get(options, (result) => { let buffer = ''; result.setEncoding('utf8'); result.on('data', (data) => { buffer += data; }); result.on('end', () => { const tweets = JSON.parse(buffer); cb(error, tweets); }); }); }); }
daumCallback(req, res) { if (req.error_reason) { res.send(req.error_reason); } if (req.query && req.query.code) { // For eg. "/daum/callback" this.daumOAuth2.getOAuthAccessToken( req.query.code, { grant_type: "authorization_code", redirect_uri: makeRedirectUri(req, this.daumRedirectUri) }, (err, accessToken, refreshToken, params) => { if (err) { console.error(err); return res.send(err); } const daumAuth = { access_token: accessToken, expiration_date: params.expires_in }; // when custom callback return callbackResult(req, res, daumAuth); } ); } }
// // facebook // facebookAuth(req, res) { // For eg. "http://localhost:3000/facebook/callback" const params = { redirect_uri: makeRedirectUri(req, this.fbRedirectUri), scope: "email,public_profile" }; console.log("params", params); return res.redirect(this.fbOAuth2.getAuthorizeUrl(params)); }
// // kakao // kakaoAuth(req, res) { // For eg. "http://localhost:3000/kakao/callback" const params = { redirect_uri: makeRedirectUri(req, this.kakaoRedirectUri), response_type: "code" }; console.log("params", params); return res.redirect(this.kakaoOAuth2.getAuthorizeUrl(params)); }
facebookCallback(req, res) { if (req.error_reason) { res.send(req.error_reason); } if (req.query && req.query.code) { // For eg. "/facebook/callback" this.fbOAuth2.getOAuthAccessToken( req.query.code, { grant_type: "authorization_code", redirect_uri: makeRedirectUri(req, this.fbRedirectUri) }, (err, accessToken, refreshToken, params) => { if (err) { console.error(err); return res.send(err); } const facebookAuth = { access_token: accessToken, expiration_date: params.expires }; // when custom callback return callbackResult(req, res, facebookAuth); } ); } }
// // naver // naverAuth(req, res) { // For eg. "http://localhost:3000/naver/callback" const params = { redirect_uri: makeRedirectUri(req, this.naverRedirectUri), response_type: "code" }; console.log("params", params); return res.redirect(this.naverOAuth2.getAuthorizeUrl(params)); }
// // instagram // instagramAuth(req, res) { // For eg. "http://localhost:3000/instagram/callback" const params = { redirect_uri: makeRedirectUri(req, this.instaRedirectUri), scope: "basic public_content", response_type: "code" }; console.log("params", params); return res.redirect(this.instaOAuth2.getAuthorizeUrl(params)); }
kakaoCallback(req, res) { if (req.error_reason) { res.send(req.error_reason); } if (req.query && req.query.code) { // For eg. "/kakao/callback" this.kakaoOAuth2.getOAuthAccessToken( req.query.code, { grant_type: "authorization_code", redirect_uri: makeRedirectUri(req, this.kakaoRedirectUri) }, (err, accessToken, refreshToken, params) => { if (err) { console.error(err); return res.send(err); } const kakaoAuth = { access_token: accessToken, expiration_date: params.expires_in }; // when custom callback return callbackResult(req, res, kakaoAuth); } ); } }
// // google // googleAuth(req, res) { // For eg. "http://localhost:3000/google/callback" const params = { redirect_uri: makeRedirectUri(req, this.googleRedirectUri), scope: "email profile", response_type: "code" }; console.log("params", params); return res.redirect(this.googleOAuth2.getAuthorizeUrl(params)); }
/** * * @param {string} clientId * @param {string} clientSecret * @param {string} baseUrl - url to the OAuth server, emitting "/oauth/*" endpoints * @returns {Promise<any>} */ async function getAccessTokenForProxy(clientId, clientSecret, baseUrl) { if (cfenv.getAppEnv().isLocal) { return Promise.resolve("mockLocalProxyToken") } return new Promise((resolve, reject) => { const oAuthClient = new OAuth2(clientId, clientSecret, `${baseUrl}/`, "/oauth/authorize", "oauth/token", null) oAuthClient.getOAuthAccessToken( "", { grant_type: "client_credentials" }, (err, accessToken, refreshToken, results) => { if (err) { reject(err) } resolve(accessToken) } ) }) }