mirror of
				https://git.anonymousland.org/anonymousland/synapse.git
				synced 2025-11-03 23:04:43 -05:00 
			
		
		
		
	Add an OpenID example config for Gitea. (#9134)
This commit is contained in:
		
							parent
							
								
									8fee6a3ab2
								
							
						
					
					
						commit
						d1f13c7485
					
				
					 2 changed files with 35 additions and 0 deletions
				
			
		
							
								
								
									
										1
									
								
								changelog.d/9134.doc
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								changelog.d/9134.doc
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
Add docs for using Gitea as OpenID provider.
 | 
			
		||||
| 
						 | 
				
			
			@ -353,3 +353,37 @@ Relevant documents:
 | 
			
		|||
 * https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow
 | 
			
		||||
 * Using Facebook's Graph API: https://developers.facebook.com/docs/graph-api/using-graph-api/
 | 
			
		||||
 * Reference to the User endpoint: https://developers.facebook.com/docs/graph-api/reference/user
 | 
			
		||||
 | 
			
		||||
### Gitea
 | 
			
		||||
 | 
			
		||||
Gitea is, like Github, not an OpenID provider, but just an OAuth2 provider.
 | 
			
		||||
 | 
			
		||||
The [`/user` API endpoint](https://try.gitea.io/api/swagger#/user/userGetCurrent)
 | 
			
		||||
can be used to retrieve information on the authenticated user. As the Synapse
 | 
			
		||||
login mechanism needs an attribute to uniquely identify users, and that endpoint
 | 
			
		||||
does not return a `sub` property, an alternative `subject_claim` has to be set.
 | 
			
		||||
 | 
			
		||||
1. Create a new application.
 | 
			
		||||
2. Add this Callback URL: `[synapse public baseurl]/_synapse/oidc/callback`
 | 
			
		||||
 | 
			
		||||
Synapse config:
 | 
			
		||||
 | 
			
		||||
```yaml
 | 
			
		||||
oidc_providers:
 | 
			
		||||
  - idp_id: gitea
 | 
			
		||||
    idp_name: Gitea
 | 
			
		||||
    discover: false
 | 
			
		||||
    issuer: "https://your-gitea.com/"
 | 
			
		||||
    client_id: "your-client-id" # TO BE FILLED
 | 
			
		||||
    client_secret: "your-client-secret" # TO BE FILLED
 | 
			
		||||
    client_auth_method: client_secret_post
 | 
			
		||||
    scopes: [] # Gitea doesn't support Scopes
 | 
			
		||||
    authorization_endpoint: "https://your-gitea.com/login/oauth/authorize"
 | 
			
		||||
    token_endpoint: "https://your-gitea.com/login/oauth/access_token"
 | 
			
		||||
    userinfo_endpoint: "https://your-gitea.com/api/v1/user"
 | 
			
		||||
    user_mapping_provider:
 | 
			
		||||
      config:
 | 
			
		||||
        subject_claim: "id"
 | 
			
		||||
        localpart_template: "{{ user.login }}"
 | 
			
		||||
        display_name_template: "{{ user.full_name }}" 
 | 
			
		||||
```
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue