This points to a "GitHub App" now
("https://github.com/organizations/tvlfyi/settings/apps"), rather than an
"OAuth App"
("https://github.com/organizations/tvlfyi/settings/applications").
Apparently this makes a big difference, and we should be using a "GitHub
App", not an "OAuth App".
The defails on why are in
https://github.com/keycloak/keycloak/issues/9429#issuecomment-1578953468
The App can be configured at
https://github.com/organizations/tvlfyi/settings/apps/tvl-keycloak .
With this, we should get rid of spurious Exceptions with some GitHub
users trying to log in, hopefully fixing https://b.tvl.fyi/issues/201.
Change-Id: I25d0d6cd1b05ad54ed3d760d3a48ce1f430c0e7d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12413
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
		
	
			
		
			
				
	
	
		
			51 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			HCL
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			HCL
		
	
	
	
	
	
| # All user sources, that is services from which Keycloak gets user
 | |
| # information (either by accessing a system like LDAP or integration
 | |
| # through protocols like OIDC).
 | |
| 
 | |
| variable "github_client_secret" {
 | |
|   type = string
 | |
| }
 | |
| 
 | |
| resource "keycloak_ldap_user_federation" "tvl_ldap" {
 | |
|   name                    = "tvl-ldap"
 | |
|   realm_id                = keycloak_realm.tvl.id
 | |
|   enabled                 = true
 | |
|   connection_url          = "ldap://localhost"
 | |
|   users_dn                = "ou=users,dc=tvl,dc=fyi"
 | |
|   username_ldap_attribute = "cn"
 | |
|   uuid_ldap_attribute     = "cn"
 | |
|   rdn_ldap_attribute      = "cn"
 | |
|   full_sync_period        = 86400
 | |
|   trust_email             = true
 | |
| 
 | |
|   user_object_classes = [
 | |
|     "inetOrgPerson",
 | |
|     "organizationalPerson",
 | |
|   ]
 | |
| 
 | |
|   lifecycle {
 | |
|     # Without this, terraform wants to recreate the resource.
 | |
|     ignore_changes = [
 | |
|       delete_default_mappers
 | |
|     ]
 | |
|   }
 | |
| }
 | |
| 
 | |
| # keycloak_oidc_identity_provider.github will be destroyed
 | |
| # (because keycloak_oidc_identity_provider.github is not in configuration)
 | |
| resource "keycloak_oidc_identity_provider" "github" {
 | |
|   alias                 = "github"
 | |
|   provider_id           = "github"
 | |
|   client_id             = "Iv23liXfGNIr7InMg5Uo"
 | |
|   client_secret         = var.github_client_secret
 | |
|   realm                 = keycloak_realm.tvl.id
 | |
|   backchannel_supported = false
 | |
|   gui_order             = "1"
 | |
|   store_token           = false
 | |
|   sync_mode             = "IMPORT"
 | |
|   trust_email           = true
 | |
| 
 | |
|   # These default to built-in values for the `github` provider_id.
 | |
|   authorization_url = ""
 | |
|   token_url         = ""
 | |
| }
 |