1
0
Fork 0
freesewing/markdown/dev/reference/backend/oauth/de.md

53 lines
1.2 KiB
Markdown
Raw Normal View History

---
title: Oauth
---
## Oauth initialisation
```
POST /oauth/init
{
'provider': 'github',
'language': 'fr'
}
```
On success:
```
200
{
'state': '5d5132041ad3f369443f1d7b'
}
```
On failure:
```
400
```
- This triggers an Oauth flow
- `provider` should be one of `google` or `github`
- `language` should be one of the [configured language codes](https://github.com/freesewing/backend/blob/develop/src/config/index.js#L32)
- The frontend will use the state value to initialize an Oauth session. We'll check the state value when we receive the Oauth callback at the backend
## Oauth callback
```
GET /oauth/callback/from/:provider
```
On success: Redirects to the frontend
This is part of the Oauth flow. It fetches the user info from the Oauth provider. If it can't match it with a user, it will create a user account. In other words, this will handle both log in and sign up.
The frontend redirect will contain a confirmation ID in the URL that we'll `POST` back in the next Oauth flow step.
## Oauth login
```
POST /oauth/login
{
'confirmation': '98e132041ad3f369443f1d3d'
}
```
On success: The account data On failure:
```
400
```
This is the last step of the Oauth process. It logs a user in.