firebaseoauth2
Advanced tools
Comparing version
86
index.js
@@ -14,2 +14,4 @@ const express = require("express"); | ||
const TOKEN_EXPIRES_IN = 60 * 15 | ||
// Inisialize | ||
@@ -159,3 +161,3 @@ app.setFirebaseAdmin = (_FirebaseAdmin, _BuildinClientID, _BuildinClientSecret, _debug = true) => { | ||
getTokens(authorize_code, client_secret, redirect_uri) | ||
getTokensByAuthorizeCode(authorize_code, client_secret, redirect_uri) | ||
.then(function(token){ | ||
@@ -166,2 +168,13 @@ console.log(token); | ||
break; | ||
case 'refresh_token': | ||
const refresh_token = req.body.refresh_token | ||
const client_secret = req.body.client_secret | ||
const client_secret = req.body.client_secret | ||
getTokenByRefreshToken(refresh_token, client_secret, redirect_uri) | ||
.then(function(token){ | ||
console.log(token); | ||
res.json(token); | ||
}) | ||
break; | ||
} | ||
@@ -237,15 +250,11 @@ | ||
const getTokens = (authorize_code, client_secret, redirect_uri) => { | ||
console.log('getTokens', authorize_code, client_secret, redirect_uri) | ||
// authorize_code から Token 情報を返す | ||
const getTokensByAuthorizeCode = (authorize_code, client_secret, redirect_uri) => { | ||
console.log('getTokensByAuthorizeCode', authorize_code, client_secret, redirect_uri) | ||
return new Promise(function(resolve, reject){ | ||
getClientByAuthorizeCode(authorize_code) | ||
.then(function(clientInfo){ | ||
console.log(239, clientInfo) | ||
console.log(239, clientInfo.client_secret, client_secret) | ||
if(clientInfo.client.client_secret == client_secret){ | ||
updateToken(clientInfo) | ||
.then(function(token){ | ||
console.log(244, token) | ||
resolve(token) | ||
@@ -262,7 +271,24 @@ }) | ||
const getTokenByRefreshToken = (refresh_token, client_secret, redirect_uri) => { | ||
console.log('getTokenByRefreshToken', refresh_token, client_secret, redirect_uri) | ||
return new Promise(function(resolve, reject){ | ||
getClientByRefreshToken() | ||
.then(function(clientInfo){ | ||
if(clientInfo.client.client_secret == client_secret){ | ||
updateToken(clientInfo) | ||
.then(function(token){ | ||
console.log(268, token) | ||
resolve(token) | ||
}) | ||
}else{ | ||
console.log(272) | ||
} | ||
}, function(){ | ||
}) | ||
}) | ||
} | ||
const updateToken = (clientInfo) => { | ||
console.log('updateToken', clientInfo) | ||
return new Promise(function(resolve, reject){ | ||
@@ -291,3 +317,3 @@ let AccessToken | ||
refresh_token : _RefreshToken, | ||
expires_in: 60*30*24, | ||
expires_in: TOKEN_EXPIRES_IN, | ||
token_type: 'Bearer' | ||
@@ -387,8 +413,10 @@ } | ||
// authorize_code から Client情報を取得する | ||
const getClientByAuthorizeCode = (authorize_code) => { | ||
console.log('getClientByAuthorizeCode', authorize_code) | ||
return new Promise(function(resolve, reject){ | ||
const = ref = FirebaseDb.ref('/oAuth/AuthorizeCodes/' + authorize_code) | ||
return getClientByRef(ref) | ||
/* | ||
FirebaseDb.ref('/oAuth/AuthorizeCodes/' + authorize_code).once('value') | ||
.then(function(snapshot){ | ||
console.log(383, snapshot.val()) | ||
if(snapshot.val()){ | ||
@@ -414,2 +442,32 @@ const value = snapshot.val() | ||
}) | ||
*/ | ||
} | ||
const getClientByRefreshToken = (refresh_token) => { | ||
console.log('getClientByRefreshToken', refresh_token) | ||
const = ref = FirebaseDb.ref('/oAuth/RefreshTokens/' + refresh_token) | ||
return getClientByRef(ref) | ||
} | ||
const getClientByRef = (ref) => { | ||
return new Promise(function(resolve, reject){ | ||
ref.once('value') | ||
if(snapshot.val()){ | ||
const value = snapshot.val() | ||
const uid = value.uid | ||
const client_id = value.client_id | ||
getClientByUidAndClientId(uid, client_id) | ||
.then(function(client){ | ||
resolve({ | ||
uid : uid, | ||
client_id : client_id, | ||
client : client | ||
}) | ||
}, function(){ | ||
reject() | ||
}) | ||
}else{ | ||
reject() | ||
} | ||
}) | ||
@@ -416,0 +474,0 @@ } |
{ | ||
"name": "firebaseoauth2", | ||
"version": "0.3.1", | ||
"version": "0.3.2", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "indexjs.js", |
13680
14.72%430
14.97%