Skip to content

Commit

Permalink
feat: implement ally social auth
Browse files Browse the repository at this point in the history
  • Loading branch information
gabrielmaialva33 committed Nov 30, 2024
1 parent 4a4f644 commit 1865a20
Show file tree
Hide file tree
Showing 6 changed files with 3,855 additions and 1,259 deletions.
21 changes: 21 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,24 @@ DB_PORT=5432
DB_USER=root
DB_PASSWORD=root
DB_DATABASE=app

DISCORD_CLIENT_ID=
DISCORD_CLIENT_SECRET=

FACEBOOK_CLIENT_ID=
FACEBOOK_CLIENT_SECRET=

GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=

GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

LINKEDIN_CLIENT_ID=
LINKEDIN_CLIENT_SECRET=

SPOTIFY_CLIENT_ID=
SPOTIFY_CLIENT_SECRET=

TWITTER_CLIENT_ID=
TWITTER_CLIENT_SECRET=
1 change: 1 addition & 0 deletions adonisrc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ export default defineConfig({
() => import('@adonisjs/auth/auth_provider'),
() => import('@adonisjs/i18n/i18n_provider'),
() => import('#providers/app_provider'),
() => import('@adonisjs/ally/ally_provider'),
],

/*
Expand Down
46 changes: 46 additions & 0 deletions config/ally.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import env from '#start/env'
import { defineConfig, services } from '@adonisjs/ally'

const allyConfig = defineConfig({
discord: services.discord({
clientId: env.get('DISCORD_CLIENT_ID'),
clientSecret: env.get('DISCORD_CLIENT_SECRET'),
callbackUrl: '',
}),
facebook: services.facebook({
clientId: env.get('FACEBOOK_CLIENT_ID'),
clientSecret: env.get('FACEBOOK_CLIENT_SECRET'),
callbackUrl: '',
}),
github: services.github({
clientId: env.get('GITHUB_CLIENT_ID'),
clientSecret: env.get('GITHUB_CLIENT_SECRET'),
callbackUrl: '',
}),
google: services.google({
clientId: env.get('GOOGLE_CLIENT_ID'),
clientSecret: env.get('GOOGLE_CLIENT_SECRET'),
callbackUrl: '',
}),
linkedin: services.linkedin({
clientId: env.get('LINKEDIN_CLIENT_ID'),
clientSecret: env.get('LINKEDIN_CLIENT_SECRET'),
callbackUrl: '',
}),
spotify: services.spotify({
clientId: env.get('SPOTIFY_CLIENT_ID'),
clientSecret: env.get('SPOTIFY_CLIENT_SECRET'),
callbackUrl: '',
}),
twitter: services.twitter({
clientId: env.get('TWITTER_CLIENT_ID'),
clientSecret: env.get('TWITTER_CLIENT_SECRET'),
callbackUrl: '',
}),
})

export default allyConfig

declare module '@adonisjs/ally/types' {
interface SocialProviders extends InferSocialProviders<typeof allyConfig> {}
}
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
"typescript": "~5.7.2"
},
"dependencies": {
"@adonisjs/ally": "^5.0.2",
"@adonisjs/auth": "^9.2.4",
"@adonisjs/core": "^6.15.1",
"@adonisjs/cors": "^2.2.1",
Expand Down
Loading

0 comments on commit 1865a20

Please sign in to comment.