proxyauth: user OpenID instead of basic auth
This commit is contained in:
24
src/oidc.js
24
src/oidc.js
@@ -4,6 +4,8 @@ exports = module.exports = {
|
||||
start,
|
||||
stop,
|
||||
revokeByUserId,
|
||||
getUserByAuthCode,
|
||||
consumeAuthCode,
|
||||
clients: {
|
||||
add: clientsAdd,
|
||||
get: clientsGet,
|
||||
@@ -197,6 +199,28 @@ async function revokeByUserId(userId) {
|
||||
revokeObjects('AccessToken');
|
||||
}
|
||||
|
||||
async function consumeAuthCode(authCode) {
|
||||
assert.strictEqual(typeof authCode, 'string');
|
||||
|
||||
const authData = DATA_STORE['AuthorizationCode'][authCode];
|
||||
if (!authData || !authData.payload) return;
|
||||
|
||||
DATA_STORE['AuthorizationCode'][authCode].consumed = true;
|
||||
|
||||
save('AuthorizationCode');
|
||||
}
|
||||
|
||||
async function getUserByAuthCode(authCode) {
|
||||
assert.strictEqual(typeof authCode, 'string');
|
||||
|
||||
load('AuthorizationCode');
|
||||
const authData = DATA_STORE['AuthorizationCode'][authCode];
|
||||
|
||||
if (!authData || !authData.payload || !authData.payload.accountId) return null;
|
||||
|
||||
return await users.get(authData.payload.accountId);
|
||||
}
|
||||
|
||||
// -----------------------------
|
||||
// Generic oidc node module data store model
|
||||
// -----------------------------
|
||||
|
||||
Reference in New Issue
Block a user