providers/mattermost
MattermostProfile
Properties
auth_data
auth_data: string;
auth_service
auth_service: string;
create_at
create_at: number;
The time in milliseconds a user was created
delete_at
delete_at: number;
The time in milliseconds a user was deleted
disable_welcome_email
disable_welcome_email: boolean;
email: string;
email_verified
email_verified: boolean;
first_name
first_name: string;
id
id: string;
last_name
last_name: string;
last_password_update
last_password_update: number;
locale
locale: string;
nickname
nickname: string;
notify_props
notify_props: {
channel: string;
comments: string;
desktop: string;
desktop_sound: string;
desktop_threads: string;
email: string;
email_threads: string;
first_name: string;
mention_keys: string;
push: string;
push_status: string;
push_threads: string;
};
channel
channel: string;
Set to “true” to enable channel-wide notifications (@channel, @all, etc.), “false” to disable. Defaults to “true”.
comments
comments: string;
desktop
desktop: string;
Set to “all” to receive desktop notifications for all activity, “mention” for mentions and direct messages only, and “none” to disable. Defaults to “all”.
desktop_sound
desktop_sound: string;
Set to “true” to enable sound on desktop notifications, “false” to disable. Defaults to “true”.
desktop_threads
desktop_threads: string;
email: string;
Set to “true” to enable email notifications, “false” to disable. Defaults to “true”.
email_threads
email_threads: string;
first_name
first_name: string;
Set to “true” to enable mentions for first name. Defaults to “true” if a first name is set, “false” otherwise.
mention_keys
mention_keys: string;
A comma-separated list of words to count as mentions. Defaults to username and @username.
push
push: string;
Set to “all” to receive push notifications for all activity, “mention” for mentions and direct messages only, and “none” to disable. Defaults to “mention”.
push_status
push_status: string;
push_threads
push_threads: string;
position
position: string;
roles
roles: string;
terms_of_service_create_at?
optional terms_of_service_create_at: number;
The time in milliseconds the user accepted the terms of service
terms_of_service_id?
optional terms_of_service_id: string;
ID of accepted terms of service, if any. This field is not present if empty.
timezone
timezone: {
automaticTimezone: string;
manualTimezone: string;
useAutomaticTimezone: string;
};
automaticTimezone
automaticTimezone: string;
This value is set automatically when the “useAutomaticTimezone” is set to “true”.
manualTimezone
manualTimezone: string;
Value when setting manually the timezone, i.e. “Europe/Berlin”.
useAutomaticTimezone
useAutomaticTimezone: string;
Set to “true” to use the browser/system timezone, “false” to set manually. Defaults to “true”.
update_at
update_at: number;
The time in milliseconds a user was last updated
username
username: string;
default()
default<P>(config): OAuthConfig<P>
Add Mattermost login to your page.
Setup
Callback URL
https://example.com/api/auth/callback/mattermost
Configuration
import { Auth } from "@auth/core"
import Mattermost from "@auth/core/providers/mattermost"
const request = new Request(origin)
const response = await Auth(request, {
providers: [
Mattermost({
clientId: MATTERMOST_CLIENT_ID,
clientSecret: MATTERMOST_CLIENT_SECRET,
issuer: MATTERMOST_ISSUER, // The base url of your Mattermost instance. e.g `https://my-cool-server.cloud.mattermost.com`
}),
],
})
Resources
Notes
By default, Auth.js assumes that the Mattermost provider is based on the OAuth 2 specification.
To create your Mattermost OAuth2 app visit http://<your Mattermost instance url>/<your team>/integrations/oauth2-apps
The Mattermost provider requires the issuer
option to be set. This is the base url of your Mattermost instance. e.g https://my-cool-server.cloud.mattermost.com
The Mattermost provider comes with a default configuration. To override the defaults for your use case, check out customizing a built-in OAuth provider.
Disclaimer If you think you found a bug in the default configuration, you can open an issue.
Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec, we might not pursue a resolution. You can ask for more help in Discussions.
Type parameters
Type parameter |
---|
P extends MattermostProfile |
Parameters
Parameter | Type |
---|---|
config | OAuthUserConfig <P > & { issuer : string ; } |
Returns
OAuthConfig
<P
>