GitHub OAuth2-Authentifizierung
Um das GitHub OAuth2 zu aktivieren, müssen Sie Ihre Anwendung bei GitHub registrieren. GitHub generiert eine Client-ID und einen geheimen Schlüssel, die Sie verwenden können.
Sie müssen eine GitHub OAuth-Anwendung erstellen (Sie finden diese unter der GitHub Einstellungsseite). Wenn Sie die Anwendung erstellen, müssen Sie eine Callback-URL angeben. Geben Sie diese als Callback an:
http://<my_smartcollect_server_name_or_ip>:<smartcollect_server_port>/login/github
Diese Callback-URL muss mit der vollständigen HTTP-Adresse übereinstimmen, die Sie in Ihrem Browser verwenden, um auf SmartCollect SC² zuzugreifen, aber mit dem Suffix-Pfad von /login/github.
Wenn die GitHub OAuth-Anwendung erstellt wird, erhalten Sie eine Client-ID und ein Client-Secret. Geben Sie diese in der SmartCollect SC²-Konfigurationsdatei an.
[auth.github]
enabled = true
allow_sign_up = true
client_id = YOUR_GITHUB_APP_CLIENT_ID
client_secret = YOUR_GITHUB_APP_CLIENT_SECRET
scopes = user:email,read:org
auth_url = https://github.com/login/oauth/authorize
token_url = https://github.com/login/oauth/access_token
api_url = https://api.github.com/user
team_ids =
allowed_organizations =
Sie müssen eventuell die Option root_url von [server] setzen, damit die Callback-URL korrekt ist. Zum Beispiel für den Fall, dass Sie SmartCollect SC² hinter einem Proxy bereitstellen.
Starten Sie das SmartCollect SC²-Back-End neu. Sie sollten nun eine GitHub-Anmeldeschaltfläche auf der Anmeldeseite sehen. Sie können sich nun anmelden oder sich mit Ihren GitHub Konten anmelden.
Sie können Benutzern erlauben, sich über die GitHub-Authentifizierung anzumelden, indem Sie die Option allow_sign_up auf true setzen. Wenn diese Option auf “true” gesetzt ist, wird jeder Benutzer, der sich erfolgreich über die GitHub-Authentifizierung authentifiziert, automatisch angemeldet.
Erfordert eine aktive Team-Mitgliedschaft für mindestens eines der angegebenen Teams auf GitHub. Wenn der authentifizierte Benutzer nicht Mitglied in mindestens einem der Teams ist, kann er sich nicht bei Ihrer SmartCollect SC²-Instanz registrieren oder authentifizieren. Zum Beispiel:
[auth.github]
enabled = true
client_id = YOUR_GITHUB_APP_CLIENT_ID
client_secret = YOUR_GITHUB_APP_CLIENT_SECRET
scopes = user:email,read:org
team_ids = 150,300
auth_url = https://github.com/login/oauth/authorize
token_url = https://github.com/login/oauth/access_token
api_url = https://api.github.com/user
allow_sign_up = true
Requires active organization membership for at least one of the specified organizations on GitHub. If the authenticated user is not a member of at least one of the organizations, they cannot register or join your SmartCollect SC² instance. For example
[auth.github]
enabled = true
client_id = YOUR_GITHUB_APP_CLIENT_ID
client_secret = YOUR_GITHUB_APP_CLIENT_SECRET
scopes = user:email,read:org
auth_url = https://github.com/login/oauth/authorize
token_url = https://github.com/login/oauth/access_token
api_url = https://api.github.com/user
allow_sign_up = true
# space-delimited organization names
allowed_organizations = github google