wiki-grav/plugins/login-oauth2-extras/blueprints.yaml

1007 lines
30 KiB
YAML

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: '<h3>Site</h3>'
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: '<h3>Admin</h3>'
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: '[<i class="fa fa-book"></i> 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: '<h3>Site</h3>'
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: '<h3>Admin</h3>'
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: '[<i class="fa fa-book"></i> 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: '<h3>Site</h3>'
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: '<h3>Admin</h3>'
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: '[<i class="fa fa-book"></i> 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: '<h3>Site</h3>'
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: '<h3>Admin</h3>'
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: '[<i class="fa fa-book"></i> 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: '<h3>Site</h3>'
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: '<h3>Admin</h3>'
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: '[<i class="fa fa-book"></i> 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: '<h3>Site</h3>'
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: '<h3>Admin</h3>'
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: '[<i class="fa fa-book"></i> 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: '<h3>Site</h3>'
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: '<h3>Admin</h3>'
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: '[<i class="fa fa-book"></i> 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: '<h3>Site</h3>'
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: '<h3>Admin</h3>'
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: '[<i class="fa fa-book"></i> 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: '<h3>Site</h3>'
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: '<h3>Admin</h3>'
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: '[<i class="fa fa-book"></i> Okta for OAuth2](https://github.com/foxworth42/oauth2-okta?target=_blank)'
markdown: true