slackProvider function
Slack OAuth provider (OIDC).
Resources
Implementation
OAuthProvider<SlackProfile> slackProvider(SlackProviderOptions options) {
return OAuthProvider<SlackProfile>(
id: 'slack',
name: 'Slack',
type: AuthProviderType.oidc,
clientId: options.clientId,
clientSecret: options.clientSecret,
authorizationEndpoint: Uri.parse(
'https://slack.com/openid/connect/authorize',
),
tokenEndpoint: Uri.parse('https://slack.com/api/openid.connect.token'),
userInfoEndpoint: Uri.parse(
'https://slack.com/api/openid.connect.userInfo',
),
redirectUri: options.redirectUri,
scopes: options.scopes,
profileParser: SlackProfile.fromJson,
profileSerializer: (profile) => profile.toJson(),
profile: (profile) {
return AuthUser(
id: profile.sub,
name: profile.name,
email: profile.email,
image: profile.picture,
attributes: profile.toJson(),
);
},
);
}