name: Login OAuth2 Extras type: plugin slug: login-oauth2-extras version: 2.2.0 description: Extra Login OAuth2 Providers (requires Login OAuth2 Plugin) icon: plug author: name: Trilby Media email: hello@trilby.media homepage: https://github.com/trilbymedia/grav-plugin-login-oauth2-extras demo: http://demo.yoursite.com keywords: grav, plugin, etc bugs: https://github.com/trilbymedia/grav-plugin-login-oauth2-extras/issues docs: https://github.com/trilbymedia/grav-plugin-login-oauth2-extras/blob/develop/README.md license: MIT dependencies: - { name: login-oauth2, version: '~2.0' } form: validation: strict fields: enabled: type: toggle label: Plugin Status highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool instructions: type: display markdown: true description: This plugin requires [Login OAuth2](/admin/plugins/login-oauth2) to function. There are several settings that must be set in that plugin to ensure these extra providers will function (`Configuration` and `Admin`) built_in_css: type: toggle label: PLUGIN_LOGIN_OAUTH2.BUILTIN_CSS help: PLUGIN_LOGIN_OAUTH2.BUILTIN_CSS_HELP highlight: 1 default: 1 options: 1: PLUGIN_ADMIN.ENABLED 0: PLUGIN_ADMIN.DISABLED validate: type: bool gitlab: type: fieldset title: GitLab collapsible: true fields: gitlab_columns: type: columns fields: gitlab_column_left: type: column fields: gitlab.site: type: display style: vertical content: '

Site

' providers.gitlab.enabled: type: toggle label: Enabled highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool providers.gitlab.client_id: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_ID providers.gitlab.client_secret: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_SECRET providers.gitlab.options.scope: type: selectize size: large label: PLUGIN_LOGIN_OAUTH2.SCOPE classes: fancy validate: type: commalist providers.gitlab.domain: type: text label: PLUGIN_LOGIN_OAUTH2.RESTRICT_DOMAIN placeholder: https://my.gitlab.example gitlab_column_right: type: column fields: gitlab.admin: type: display style: vertical content: '

Admin

' admin.providers.gitlab.enabled: type: toggle label: Enabled highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool admin.providers.gitlab.client_id: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_ID admin.providers.gitlab.client_secret: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_SECRET admin.providers.gitlab.options.scope: type: selectize size: large label: PLUGIN_LOGIN_OAUTH2.SCOPE classes: fancy validate: type: commalist admin.providers.gitlab.domain: type: text label: PLUGIN_LOGIN_OAUTH2.RESTRICT_DOMAIN placeholder: https://my.gitlab.example providers.gitlab.description: type: display style: vertical content: '[ GitLab OAuth2 from the official documentation](https://docs.gitlab.com/ee/integration/oauth_provider.html?target=_blank)' markdown: true discord: type: fieldset title: Discord collapsible: true fields: discord_columns: type: columns fields: discord_column_left: type: column fields: discord.site: type: display style: vertical content: '

Site

' providers.discord.enabled: type: toggle label: Enabled highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool providers.discord.client_id: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_ID providers.discord.client_secret: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_SECRET providers.discord.options.scope: type: selectize size: large label: PLUGIN_LOGIN_OAUTH2.SCOPE classes: fancy validate: type: commalist discord_column_right: type: column fields: discord.admin: type: display style: vertical content: '

Admin

' admin.providers.discord.enabled: type: toggle label: Enabled highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool admin.providers.discord.client_id: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_ID admin.providers.discord.client_secret: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_SECRET admin.providers.discord.options.scope: type: selectize size: large label: PLUGIN_LOGIN_OAUTH2.SCOPE classes: fancy validate: type: commalist providers.discord.description: type: display style: vertical content: '[ Discord OAuth2 from the official documentation](https://extrasapp.com/developers/docs/topics/oauth2?target=_blank)' markdown: true slack: type: fieldset title: Slack collapsible: true fields: slack_columns: type: columns fields: slack_column_left: type: column fields: slack.site: type: display style: vertical content: '

Site

' providers.slack.enabled: type: toggle label: Enabled highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool providers.slack.client_id: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_ID providers.slack.client_secret: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_SECRET providers.slack.options.scope: type: selectize size: large label: PLUGIN_LOGIN_OAUTH2.SCOPE classes: fancy validate: type: commalist slack_column_right: type: column fields: slack.admin: type: display style: vertical content: '

Admin

' admin.providers.slack.enabled: type: toggle label: Enabled highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool admin.providers.slack.client_id: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_ID admin.providers.slack.client_secret: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_SECRET admin.providers.slack.options.scope: type: selectize size: large label: PLUGIN_LOGIN_OAUTH2.SCOPE classes: fancy validate: type: commalist providers.slack.description: type: display style: vertical content: '[ Slack OAuth2 from the official documentation](https://api.slack.com/docs/sign-in-with-slack?target=_blank)' markdown: true jira: type: fieldset title: Jira collapsible: true fields: jira_columns: type: columns fields: jira_column_left: type: column fields: jira.site: type: display style: vertical content: '

Site

' providers.jira.enabled: type: toggle label: Enabled highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool providers.jira.client_id: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_ID providers.jira.client_secret: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_SECRET providers.jira.options.scope: type: selectize size: large label: PLUGIN_LOGIN_OAUTH2.SCOPE classes: fancy validate: type: commalist jira_column_right: type: column fields: jira.admin: type: display style: vertical content: '

Admin

' admin.providers.jira.enabled: type: toggle label: Enabled highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool admin.providers.jira.client_id: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_ID admin.providers.jira.client_secret: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_SECRET admin.providers.jira.options.scope: type: selectize size: large label: PLUGIN_LOGIN_OAUTH2.SCOPE classes: fancy validate: type: commalist providers.jira.description: type: display style: vertical content: '[ Jira OAuth2 from the official documentation](https://developer.atlassian.com/server/jira/platform/oauth/?target=_blank)' markdown: true twitch: type: fieldset title: Twitch collapsible: true fields: twitch_columns: type: columns fields: twitch_column_left: type: column fields: twitch.site: type: display style: vertical content: '

Site

' providers.twitch.enabled: type: toggle label: Enabled highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool providers.twitch.client_id: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_ID providers.twitch.client_secret: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_SECRET providers.twitch.options.scope: type: selectize size: large label: PLUGIN_LOGIN_OAUTH2.SCOPE classes: fancy validate: type: commalist twitch_column_right: type: column fields: twitch.admin: type: display style: vertical content: '

Admin

' admin.providers.twitch.enabled: type: toggle label: Enabled highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool admin.providers.twitch.client_id: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_ID admin.providers.twitch.client_secret: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_SECRET admin.providers.twitch.options.scope: type: selectize size: large label: PLUGIN_LOGIN_OAUTH2.SCOPE classes: fancy validate: type: commalist providers.twitch.description: type: display style: vertical content: '[ Twitch OAuth2 from the official documentation](https://dev.twitch.tv/docs/authentication/getting-tokens-oauth/?target=_blank)' markdown: true azure: type: fieldset title: Azure collapsible: true fields: azure_columns: type: columns fields: azure_column_left: type: column fields: azure.site: type: display style: vertical content: '

Site

' providers.azure.enabled: type: toggle label: Enabled highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool providers.azure.tenant: type: text label: Tenant ID help: Use 'common' for all users, 'organizations' for Azure AD work or school accounts, 'consumers' for personal Microsoft accounts or a tenant id for accounts from a single Azure AD tenant. providers.azure.client_id: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_ID providers.azure.client_secret: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_SECRET providers.azure.options.scope: type: selectize size: large label: PLUGIN_LOGIN_OAUTH2.SCOPE classes: fancy validate: type: commalist providers.azure.options.get_groups: type: toggle label: Get groups help: Add all the groups from Azure to the users, which includes transitive memberships. This needs at least the 'GroupMember.Read.All' scope as well, which needs admin consent. highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool providers.azure.options.avatar_max_size: type: number size: x-small append: px label: Maximum avatar size help: Azure does not provide all sizes, only certain pre-defined ones. The minimum size is 48px, the maximum 648px. validate: type: number min: 48 max: 648 azure_column_right: type: column fields: azure.admin: type: display style: vertical content: '

Admin

' admin.providers.azure.enabled: type: toggle label: Enabled highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool admin.providers.azure.tenant: type: text label: Tenant ID help: Use 'common' for all users, 'organizations' for Azure AD work or school accounts, 'consumers' for personal Microsoft accounts or a tenant id for accounts from a single Azure AD tenant. admin.providers.azure.client_id: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_ID admin.providers.azure.client_secret: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_SECRET admin.providers.azure.options.scope: type: selectize size: large label: PLUGIN_LOGIN_OAUTH2.SCOPE classes: fancy validate: type: commalist admin.providers.azure.options.get_groups: type: toggle label: Get groups help: Add all the groups from Azure to the users, which includes transitive memberships. This needs at least the 'GroupMember.Read.All' scope as well, which needs admin consent. highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool admin.providers.azure.options.avatar_max_size: type: number size: x-small append: px label: Maximum avatar size help: Azure does not provide all sizes, only certain pre-defined ones. The minimum size is 48px, the maximum 648px. validate: type: number min: 48 max: 648 providers.azure.description: type: display style: vertical content: '[ Quickstart: Register an application with the Microsoft identity platform](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app). Make sure you create a client secret for the authorization code flow.' markdown: true patreon: type: fieldset title: Patreon collapsible: true fields: patreon_columns: type: columns fields: patreon_column_left: type: column fields: patreon.site: type: display style: vertical content: '

Site

' providers.patreon.enabled: type: toggle label: Enabled highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool providers.patreon.client_id: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_ID providers.patreon.client_secret: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_SECRET providers.patreon.options.scope: type: selectize size: large label: PLUGIN_LOGIN_OAUTH2.SCOPE classes: fancy validate: type: commalist patreon_column_right: type: column fields: patreon.admin: type: display style: vertical content: '

Admin

' admin.providers.patreon.enabled: type: toggle label: Enabled highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool admin.providers.patreon.client_id: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_ID admin.providers.patreon.client_secret: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_SECRET admin.providers.patreon.options.scope: type: selectize size: large label: PLUGIN_LOGIN_OAUTH2.SCOPE classes: fancy validate: type: commalist providers.patreon.description: type: display style: vertical content: '[ Patreon OAuth2 from the official documentation](https://docs.patreon.com/#oauth?target=_blank)' markdown: true keycloak: type: fieldset title: Keycloak collapsible: true fields: keycloak_columns: type: columns fields: keycloak_column_left: type: column fields: keycloak.site: type: display style: vertical content: '

Site

' providers.keycloak.enabled: type: toggle label: Enabled highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool providers.keycloak.realm: type: text label: PLUGIN_LOGIN_OAUTH2_EXTRAS.REALM providers.keycloak.client_id: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_ID providers.keycloak.client_secret: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_SECRET providers.keycloak.authserver_url: type: text label: PLUGIN_LOGIN_OAUTH2_EXTRAS.AUTHSERVER_URL providers.keycloak.encryption_algorithm: type: text label: PLUGIN_LOGIN_OAUTH2_EXTRAS.ENCRYPTION_ALGORITHM providers.keycloak.encryption_key: type: textarea label: PLUGIN_LOGIN_OAUTH2_EXTRAS.ENCRYPTION_KEY providers.keycloak.options.scope: type: selectize size: large label: PLUGIN_LOGIN_OAUTH2.SCOPE classes: fancy validate: type: commalist providers.keycloak.userdata_login: type: text label: PLUGIN_LOGIN_OAUTH2_EXTRAS.USERDATA_LOGIN providers.keycloak.userdata_fullname: type: text label: PLUGIN_LOGIN_OAUTH2_EXTRAS.USERDATA_FULLNAME providers.keycloak.userdata_email: type: text label: PLUGIN_LOGIN_OAUTH2_EXTRAS.USERDATA_EMAIL keycloak_column_right: type: column fields: keycloak.admin: type: display style: vertical content: '

Admin

' admin.providers.keycloak.enabled: type: toggle label: Enabled highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool admin.providers.keycloak.realm: type: text label: PLUGIN_LOGIN_OAUTH2_EXTRAS.REALM admin.providers.keycloak.client_id: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_ID admin.providers.keycloak.client_secret: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_SECRET admin.providers.keycloak.authserver_url: type: text label: PLUGIN_LOGIN_OAUTH2_EXTRAS.AUTHSERVER_URL admin.providers.keycloak.encryption_algorithm: type: text label: PLUGIN_LOGIN_OAUTH2_EXTRAS.ENCRYPTION_ALGORITHM admin.providers.keycloak.encryption_key: type: textarea label: PLUGIN_LOGIN_OAUTH2_EXTRAS.ENCRYPTION_KEY admin.providers.keycloak.options.scope: type: selectize size: large label: PLUGIN_LOGIN_OAUTH2.SCOPE classes: fancy validate: type: commalist admin.providers.keycloak.userdata_login: type: text label: PLUGIN_LOGIN_OAUTH2_EXTRAS.USERDATA_LOGIN admin.providers.keycloak.userdata_fullname: type: text label: PLUGIN_LOGIN_OAUTH2_EXTRAS.USERDATA_FULLNAME admin.providers.keycloak.userdata_email: type: text label: PLUGIN_LOGIN_OAUTH2_EXTRAS.USERDATA_EMAIL providers.keycloak.description: type: display style: vertical content: '[ Keycloak Provider for OAuth2](https://github.com/stevenmaguire/oauth2-keycloak?target=_blank)' markdown: true okta: type: fieldset title: Okta collapsible: true fields: okta_columns: type: columns fields: okta_column_left: type: column fields: okta.site: type: display style: vertical content: '

Site

' providers.okta.enabled: type: toggle label: Enabled highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool providers.okta.client_id: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_ID providers.okta.client_secret: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_SECRET providers.okta.issuer: type: text label: PLUGIN_LOGIN_OAUTH2_EXTRAS.OKTA.ISSUER providers.okta.options.scope: type: selectize size: large label: PLUGIN_LOGIN_OAUTH2.SCOPE classes: fancy validate: type: commalist okta_column_right: type: column fields: okta.admin: type: display style: vertical content: '

Admin

' admin.providers.okta.enabled: type: toggle label: Enabled highlight: 1 default: 0 options: 1: Enabled 0: Disabled validate: type: bool admin.providers.okta.client_id: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_ID admin.providers.okta.client_secret: type: text label: PLUGIN_LOGIN_OAUTH2.CLIENT_SECRET admin.providers.okta.issuer: type: text label: PLUGIN_LOGIN_OAUTH2_EXTRAS.OKTA.ISSUER admin.providers.okta.options.scope: type: selectize size: large label: PLUGIN_LOGIN_OAUTH2.SCOPE classes: fancy validate: type: commalist providers.okta.description: type: display style: vertical content: '[ Okta for OAuth2](https://github.com/foxworth42/oauth2-okta?target=_blank)' markdown: true