adonis-ally-extended
adonis-ally-extended copied to clipboard
Additional auth providers for Adonis ally package
Welcome to Adonis Ally Extended 👋
This package gives you additional social services to auth your users.
Any of service that accepts OAuth can be added. If you want an additional service - please create a issue and I will take my time to add it. Avaiable services for now are:
- Twitch.tv
- Mixer.com
- Vk.com (Thanks to @oddie)
- Patreon.com (Thanks to @mindofjonas)
Install
adonis install @mikield/adonis-ally-extended
The provider will be registered inside start/app.js
file.
const providers = [
'@mikield/adonis-ally-extended/ServiceProvider'
]
Add additional fields to config/services.js
file.
...
/*
|--------------------------------------------------------------------------
| Vk Configuration
|--------------------------------------------------------------------------
|
| You can access your application credentials from the vk developers
| page. https://vk.com/apps?act=manage
|
*/
vk: {
clientId: Env.get('VK_CLIENT_ID'),
clientSecret: Env.get('VK_CLIENT_SECRET'),
redirectUri: `${Env.get('APP_URL')}/authenticated/vk`
},
/*
|--------------------------------------------------------------------------
| Twitch Configuration
|--------------------------------------------------------------------------
|
| You can access your application credentials from the twitch developers
| dashboard. https://dev.twitch.tv/dashboard
|
*/
twitch: {
clientId: Env.get('TWITCH_CLIENT_ID'),
clientSecret: Env.get('TWITCH_CLIENT_SECRET'),
redirectUri: `${Env.get('APP_URL')}/authenticated/twitch`
},
/*
|--------------------------------------------------------------------------
| Mixer Configuration
|--------------------------------------------------------------------------
|
| You can access your application credentials from the Mixer developers
| lab. https://mixer.com/lab/oauth
|
*/
mixer: {
clientId: Env.get('MIXER_CLIENT_ID'),
clientSecret: Env.get('MIXER_CLIENT_SECRET'),
redirectUri: `${Env.get('APP_URL')}/authenticated/mixer`
},
/*
|--------------------------------------------------------------------------
| Patreon Configuration
|--------------------------------------------------------------------------
|
| You can access your application credentials from the Patreon developers
| lab. https://www.patreon.com/developers
|
*/
patreon: {
clientId: Env.get('MIXER_CLIENT_ID'),
clientSecret: Env.get('MIXER_CLIENT_SECRET'),
redirectUri: `${Env.get('APP_URL')}/authenticated/mixer`
}
...
Usage
Now you can access, the ally
object on each HTTP request
Route.get('/:service', async ({ request, ally }) => {
let {service} = await request.all()
await ally.driver(service).redirect()
})
Route.get('authenticated/:service', async ({ request, ally }) => {
let {service} = await request.all()
const user = await ally.driver(service).getUser()
return user
})
Author
👤 Vladyslav Gaysyuk [email protected]
- Website: https://mikield.rocks
- Twitter: @AdmiralMiki
- Github: @mikield
- LinkedIn: @mikield
🤝 Contributing
Contributions, issues and feature requests are welcome!
Feel free to check issues page. You can also take a look at the contributing guide.
Show your support
Give a ⭐️ if this project helped you!

📝 License
Copyright © 2020 Vladyslav Gaysyuk.
This project is MIT licensed.
This README was generated with ❤️ by readme-md-generator