mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-29 12:14:00 +00:00
Merge pull request #779 from Shah-Panam/Oauth-Allowed-Groups
Added OAuth Allowed Groups Option
This commit is contained in:
@@ -90,6 +90,24 @@ module.exports = {
|
|||||||
) {
|
) {
|
||||||
return { error: `Username ${login} not allowed to log in` };
|
return { error: `Username ${login} not allowed to log in` };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const groups =
|
||||||
|
process.env.OAUTH_GROUP_FIELD && payload && payload[process.env.OAUTH_GROUP_FIELD]
|
||||||
|
? payload[process.env.OAUTH_GROUP_FIELD]
|
||||||
|
: [];
|
||||||
|
|
||||||
|
const allowedGroups =
|
||||||
|
process.env.OAUTH_ALLOWED_GROUPS
|
||||||
|
? process.env.OAUTH_ALLOWED_GROUPS.split(',').map(group => group.toLowerCase().trim())
|
||||||
|
: [];
|
||||||
|
|
||||||
|
if (
|
||||||
|
process.env.OAUTH_ALLOWED_GROUPS &&
|
||||||
|
!groups.some(group => allowedGroups.includes(group.toLowerCase().trim()))
|
||||||
|
) {
|
||||||
|
return { error: `Username ${login} does not belong to an allowed group` };
|
||||||
|
}
|
||||||
|
|
||||||
if (access_token) {
|
if (access_token) {
|
||||||
return {
|
return {
|
||||||
accessToken: jwt.sign({ login }, tokenSecret, { expiresIn: getTokenLifetime() }),
|
accessToken: jwt.sign({ login }, tokenSecret, { expiresIn: getTokenLifetime() }),
|
||||||
|
|||||||
Reference in New Issue
Block a user