You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wiki/backend/modules/authentication/github/definition.yml

59 lines
2.2 KiB

key: github
title: GitHub
description: Sign in with a GitHub account, on github.com or a GitHub Enterprise Server.
author: requarks.io
logo: https://static.requarks.io/logo/github.svg
icon: /_assets/icons/ultraviolet-github.svg
color: dark-4
isAvailable: true
useForm: false
usernameType: email
props:
clientId:
type: String
title: Client ID
hint: From the OAuth app registered under Developer settings.
icon: key
order: 1
clientSecret:
type: String
title: Client Secret
hint: From the same OAuth app.
icon: password
sensitive: true
order: 2
enterpriseHost:
type: String
title: GitHub Enterprise Host
hint: (optional) Hostname of a GitHub Enterprise Server, e.g. github.example.com. Leave empty for github.com.
icon: server
order: 3
allowedOrganization:
type: String
title: Restrict to Organization
hint: (optional) Login name of a GitHub organization. Only its members may sign in — which needs the account to be a public member, or the OAuth app to be approved by the organization. Required to map groups, since a team belongs to an organization.
icon: team
order: 4
mapGroups:
type: Boolean
title: Map Groups
hint: Put the user in the wiki groups their teams in that organization name, on every login. Matched on the team's name as GitHub shows it, not its URL slug — only groups that already exist here are matched, and nothing is created. Needs Restrict to Organization.
icon: user-groups
default: false
order: 5
unassignMissingGroups:
type: Boolean
title: Unassign from groups no longer held as a team
hint: Off adds what the teams name and takes nothing away, so a membership granted here survives. On makes the organization the authority instead, and a team somebody is removed from there is taken away here — bar the groups this strategy auto-enrolls into, which are granted here to everyone it lets in.
icon: unfriend
default: false
order: 6
if:
- { key: 'mapGroups', eq: true }
refs:
callbackUrl:
title: Authorization Callback URL
hint: Set this as the OAuth app's callback URL on GitHub.
icon: back
value: '{host}/_api/auth/{id}/callback'