70 lines
1.8 KiB
Plaintext
70 lines
1.8 KiB
Plaintext
import { CardList } from "docs-ui"
|
||
|
||
export const metadata = {
|
||
title: `Auth Providers`,
|
||
}
|
||
|
||
# {metadata.title}
|
||
|
||
In this document, you’ll learn how the Auth Module handles authentication using providers.
|
||
|
||
## What's an Auth Module Provider?
|
||
|
||
An auth module provider handles authenticating customers and users, either using custom logic or by integrating a third-party service.
|
||
|
||
For example, the EmailPass Auth Module Provider authenticates a user using their email and password, whereas the Google Auth Module Provider authenticates users using their Google account.
|
||
|
||
### Auth Providers List
|
||
|
||
<CardList
|
||
items={[
|
||
{
|
||
title: "Emailpass",
|
||
href: "/commerce-modules/auth/auth-providers/emailpass"
|
||
},
|
||
{
|
||
title: "Google",
|
||
href: "/commerce-modules/auth/auth-providers/google"
|
||
},
|
||
{
|
||
title: "GitHub",
|
||
href: "/commerce-modules/auth/auth-providers/github"
|
||
},
|
||
]}
|
||
/>
|
||
|
||
---
|
||
|
||
## Configure Allowed Auth Providers of Actor Types
|
||
|
||
By default, users of all actor types can authenticate with all installed auth module providers.
|
||
|
||
To restrict the auth providers used for actor types, use the [authMethodsPerActor option](!docs!/learn/configurations/medusa-config#httpauthMethodsPerActor) in Medusa's configurations:
|
||
|
||
```ts title="medusa-config.ts"
|
||
module.exports = defineConfig({
|
||
projectConfig: {
|
||
http: {
|
||
authMethodsPerActor: {
|
||
user: ["google"],
|
||
customer: ["emailpass"],
|
||
},
|
||
// ...
|
||
},
|
||
// ...
|
||
},
|
||
})
|
||
```
|
||
|
||
<Note title="Important">
|
||
|
||
When you specify the `authMethodsPerActor` configuration, it overrides the default. So, if you don't specify any providers for an actor type, users of that actor type can't authenticate with any provider.
|
||
|
||
</Note>
|
||
|
||
---
|
||
|
||
## How to Create an Auth Module Provider
|
||
|
||
Refer to [this guide](/references/auth/provider) to learn how to create an auth module provider.
|