diff --git a/docs/content/en/providers/azure-ad.md b/docs/content/en/providers/azure-ad.md new file mode 100644 index 000000000..00188c307 --- /dev/null +++ b/docs/content/en/providers/azure-ad.md @@ -0,0 +1,35 @@ +--- +title: Azure AD +description: This provider is based on oauth2 scheme and supports all scheme options +position: 38 +category: Providers +--- + +[Source Code](https://github.com/nuxt-community/auth-module/blob/dev/src/providers/aad/index.ts) + +## Usage + +```js +auth: { + strategies: { + aad: { + clientId: process.env.AAD_CLIENT_ID, + clientSecret: process.env.AAD_CLIENT_SECRET, + tenantId: process.env.AAD_TENANT_ID, + grantType: 'authorization_code' + }, + } +} +``` + +Anywhere in your application logic: + +```js +this.$auth.loginWith('aad') +``` + +💁 This provider is based on [oauth2 scheme](../schemes/oauth2.md) and supports all scheme options. + +## Obtaining configs + +You need to create an app registration from Azure Portal and make sure to set up everything for an OAuth app in the usual way. e.g. whitelist urls. diff --git a/src/providers/aad/index.ts b/src/providers/aad/index.ts new file mode 100644 index 000000000..17d7aff43 --- /dev/null +++ b/src/providers/aad/index.ts @@ -0,0 +1,17 @@ +import { assignDefaults, addAuthorize } from '../../utils/provider' + +export default function aad (nuxt, strategy) { + assignDefaults(strategy, { + scheme: 'oauth2', + endpoints: { + authorization: `https://login.microsoftonline.com/${strategy.tenantId}/oauth2/v2.0/authorize`, + userInfo: 'https://graph.microsoft.com/v1.0/me', + token: `https://login.microsoftonline.com/${strategy.tenantId}/oauth2/v2.0/token` + }, + codeChallengeMethod: 'S256', + scope: ['openid', 'profile'], + autoLogout: true + }) + + addAuthorize(nuxt, strategy) +}