A repository to hold configs for the authentication solution we use: Authentik.
We have the following groups set up in Authentik:
- Nexirift Staff
- Attributes:
notes: "This is for staff related services, such as Galaxy, etc."
- Attributes:
- Nexirift Developers
- Parent: Nexirift Staff
- Attributes:
notes: "This is for developer related services, such as: Sentry, etc."
To see the policies that we use, see the Policies directory.
To see the applications that we use, see the Applications directory.
To see the property mappings that we use, see the Property Mappings directory.
We use the following social logins:
- Discord
- GitHub
- GitLab
- Patreon
- Proton via SimpleLogin
- Twitch
Ensure that ALL social logins follow this configuration:
- User matching mode: Use the user's email address, but deny enrollment when the email address already exists
- Authentication flow: default-source-authentication
The purpose of this policy is to allow users to login with their Proton account.
- Login with a Proton account to SimpleLogin: https://simplelogin.com/developers.
- Create a new developer application:
- Name: Nexirift
- Redirect URI: https://auth.nexirift.com/source/oauth/callback/simplelogin/
- Create a new OpenID OAuth Source:
- Name: Proton via SimpleLogin
- Slug: simplelogin
- Consumer key: The Client ID from the previous step
- Consumer secret: The Client Secret from the previous step
- Authorization URL: https://app.simplelogin.io/oauth2/authorize
- Access token URL: https://app.simplelogin.io/oauth2/token
- Profile URL: https://app.simplelogin.io/oauth2/userinfo
- OIDC Well-Known URL: https://app.simplelogin.io/.well-known/openid-configuration
- OIDC JWKS URL: https://app.simplelogin.io/jwks
By default, Authentik will show the username in the navigation bar next to the profile picture. It would be a better design choice to show the display name instead of the username.
- Go to System > Brands and edit the
authentik-default
brand. - Show
Other global settings
and put this inAttributes
:
settings:
navbar:
userDisplay: name
Media upload expressions were taken from this discussion and edited to fit our needs.