Testing Oauth

This commit is contained in:
2021-08-19 22:53:37 +02:00
parent 815c08060a
commit 4555bae320
2 changed files with 14 additions and 22 deletions

View File

@@ -101,10 +101,8 @@ export default class AuthController {
})
}
public async github ({ session, ally, auth, response }: HttpContextContract) {
public async github ({ ally, auth, response }: HttpContextContract) {
const github = ally.use('github')
const redirected_url = await session.get('redirect')
await session.forget('redirect')
if (github.accessDenied()) {
return response.status(403).send({
@@ -126,17 +124,12 @@ export default class AuthController {
const githubUser = await github.user()
const user = await this.createUser(githubUser)
await auth.use('web').login(user, true)
if (redirected_url) {
return response.redirect(redirected_url)
} else {
const authUser: User = await auth.use('web').login(user, true)
return response.status(200).send({
user,
redirected_url: redirected_url,
redirected: 'No'
authUser: authUser,
user: user
})
}
}
public async google ({ ally, auth, response, }: HttpContextContract) {
const google = ally.use('google')

View File

@@ -7,22 +7,21 @@ Route.group(() => {
Route.post('/login', 'AuthController.login')
Route.post('/logout', 'AuthController.logout')
Route.get('/twitter/callback', 'AuthController.twitter')
Route.get('/github/callback', 'AuthController.github')
Route.get('/google/callback', 'AuthController.google')
Route.get('/discord/callback', 'AuthController.discord')
Route.post('/twitter/callback', 'AuthController.twitter')
Route.post('/github/callback', 'AuthController.github')
Route.post('/google/callback', 'AuthController.google')
Route.post('/discord/callback', 'AuthController.discord')
Route.get('/twitter', async ({ ally}) => {
Route.get('/twitter', async ({ ally }) => {
return ally.use('twitter').redirect()
})
Route.get('/github', async ({ request, session, ally}) => {
await session.put('redirect', request.input('redirect'))
Route.get('/github', async ({ ally }) => {
return ally.use('github').redirect()
})
Route.get('/google', async ({ ally}) => {
Route.get('/google', async ({ ally }) => {
return ally.use('google').redirect()
})
Route.get('/discord', async ({ ally}) => {
Route.get('/discord', async ({ ally }) => {
return ally.use('discord').redirect()
})
}).prefix('/auth')