diff options
| author | Henry Jameson <me@hjkos.com> | 2019-06-13 00:51:14 +0300 |
|---|---|---|
| committer | Henry Jameson <me@hjkos.com> | 2019-06-13 00:51:14 +0300 |
| commit | c8a57ad32e6d47a114e3d744b4b6a0666e9e01f7 (patch) | |
| tree | de02290d6d97733c0ff7a041731b8c95e98b6c95 /src/services/new_api/oauth.js | |
| parent | 1e94aecbc951c7508a0063de0c6cd90b40a040d8 (diff) | |
| parent | e53f11c30fb2eedd0a437d3cfe9592c555de6a95 (diff) | |
Merge remote-tracking branch 'upstream/develop' into masto-register-app-secret
* upstream/develop:
Revert "add TOTP/Recovery Form for mobile version"
Diffstat (limited to 'src/services/new_api/oauth.js')
| -rw-r--r-- | src/services/new_api/oauth.js | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/src/services/new_api/oauth.js b/src/services/new_api/oauth.js index 4730427d..030e9980 100644 --- a/src/services/new_api/oauth.js +++ b/src/services/new_api/oauth.js @@ -93,12 +93,45 @@ export const getClientToken = ({ clientId, clientSecret, instance }) => { body: form }).then((data) => data.json()) } +const verifyOTPCode = ({app, instance, mfaToken, code}) => { + const url = `${instance}/oauth/mfa/challenge` + const form = new window.FormData() + + form.append('client_id', app.client_id) + form.append('client_secret', app.client_secret) + form.append('mfa_token', mfaToken) + form.append('code', code) + form.append('challenge_type', 'totp') + + return window.fetch(url, { + method: 'POST', + body: form + }).then((data) => data.json()) +} + +const verifyRecoveryCode = ({app, instance, mfaToken, code}) => { + const url = `${instance}/oauth/mfa/challenge` + const form = new window.FormData() + + form.append('client_id', app.client_id) + form.append('client_secret', app.client_secret) + form.append('mfa_token', mfaToken) + form.append('code', code) + form.append('challenge_type', 'recovery') + + return window.fetch(url, { + method: 'POST', + body: form + }).then((data) => data.json()) +} const oauth = { login, getToken, getTokenWithCredentials, - getOrCreateApp + getOrCreateApp, + verifyOTPCode, + verifyRecoveryCode } export default oauth |
