Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F7687543
auth_flow.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
1 KB
Referenced Files
None
Subscribers
None
auth_flow.js
View Options
const
PASSWORD_STRATEGY
=
'password'
const
TOKEN_STRATEGY
=
'token'
// MFA strategies
const
TOTP_STRATEGY
=
'totp'
const
RECOVERY_STRATEGY
=
'recovery'
// initial state
const
state
=
{
settings
:
{},
strategy
:
PASSWORD_STRATEGY
,
initStrategy
:
PASSWORD_STRATEGY
// default strategy from config
}
const
resetState
=
(
state
)
=>
{
state
.
strategy
=
state
.
initStrategy
state
.
settings
=
{}
}
// getters
const
getters
=
{
settings
:
(
state
,
getters
)
=>
{
return
state
.
settings
},
requiredPassword
:
(
state
,
getters
,
rootState
)
=>
{
return
state
.
strategy
===
PASSWORD_STRATEGY
},
requiredToken
:
(
state
,
getters
,
rootState
)
=>
{
return
state
.
strategy
===
TOKEN_STRATEGY
},
requiredTOTP
:
(
state
,
getters
,
rootState
)
=>
{
return
state
.
strategy
===
TOTP_STRATEGY
},
requiredRecovery
:
(
state
,
getters
,
rootState
)
=>
{
return
state
.
strategy
===
RECOVERY_STRATEGY
}
}
// mutations
const
mutations
=
{
setInitialStrategy
(
state
,
strategy
)
{
if
(
strategy
)
{
state
.
initStrategy
=
strategy
state
.
strategy
=
strategy
}
},
requirePassword
(
state
)
{
state
.
strategy
=
PASSWORD_STRATEGY
},
requireToken
(
state
)
{
state
.
strategy
=
TOKEN_STRATEGY
},
requireMFA
(
state
,
{
settings
})
{
state
.
settings
=
settings
state
.
strategy
=
TOTP_STRATEGY
// default strategy of MFA
},
requireRecovery
(
state
)
{
state
.
strategy
=
RECOVERY_STRATEGY
},
requireTOTP
(
state
)
{
state
.
strategy
=
TOTP_STRATEGY
},
abortMFA
(
state
)
{
resetState
(
state
)
}
}
// actions
const
actions
=
{
// eslint-disable-next-line camelcase
async
login
({
state
,
dispatch
,
commit
},
{
access_token
})
{
commit
(
'setToken'
,
access_token
,
{
root
:
true
})
await
dispatch
(
'loginUser'
,
access_token
,
{
root
:
true
})
resetState
(
state
)
}
}
export
default
{
namespaced
:
true
,
state
,
getters
,
mutations
,
actions
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Sep 3, 10:02 PM (22 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
434715
Default Alt Text
auth_flow.js (1 KB)
Attached To
Mode
rPUFE pleroma-fe-upstream
Attached
Detach File
Event Timeline
Log In to Comment