👋
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
start/app.js
file.
The provider will be registered inside const providers = [
'@mikield/adonis-ally-extended/ServiceProvider'
]
config/services.js
file.
Add additional fields to ...
/*
|--------------------------------------------------------------------------
| 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
- 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
📝 License
Copyright © 2020 Vladyslav Gaysyuk.
This project is MIT licensed.
This README was generated with