Просмотр исходного кода

add nginx conf for /_synapse/oidc/callback, used for keycloak SSO, was broken by commit 63a49bb2dc

pull/702/head
makayabou 5 лет назад
Родитель
Сommit
44fa900868
3 измененных файлов: 34 добавлений и 0 удалений
  1. +9
    -0
      docs/configuring-playbook-nginx.md
  2. +3
    -0
      roles/matrix-nginx-proxy/defaults/main.yml
  3. +22
    -0
      roles/matrix-nginx-proxy/templates/nginx/conf.d/matrix-synapse.conf.j2

+ 9
- 0
docs/configuring-playbook-nginx.md Просмотреть файл

@@ -23,3 +23,12 @@ matrix_nginx_proxy_proxy_matrix_nginx_status_allowed_addresses:
- 8.8.8.8
- 1.1.1.1
```

## Using Keycloak OIDC SSO

If you want to use Keycloak OpenId Connect as SSO provider - see [synapse doc](https://github.com/matrix-org/synapse/blob/develop/docs/openid.md) - , you need to enable following variable to instruc nginx to proceed location /_synapse/oidc/callback

```yaml
matrix_nginx_proxy_proxy_matrix_synapse_oidc_provider_keycloak: true
```


+ 3
- 0
roles/matrix-nginx-proxy/defaults/main.yml Просмотреть файл

@@ -273,3 +273,6 @@ matrix_ssl_log_dir_path: "{{ matrix_ssl_base_path }}/log"
# nginx status page configurations.
matrix_nginx_proxy_proxy_matrix_nginx_status_enabled: false
matrix_nginx_proxy_proxy_matrix_nginx_status_allowed_addresses: ['{{ ansible_default_ipv4.address }}']

# nginx configuration for synapse auth via openidconnect with keycloak
matrix_nginx_proxy_proxy_matrix_synapse_oidc_provider_keycloak: false

+ 22
- 0
roles/matrix-nginx-proxy/templates/nginx/conf.d/matrix-synapse.conf.j2 Просмотреть файл

@@ -67,6 +67,28 @@
}
{% endif %}

{% if matrix_nginx_proxy_proxy_matrix_synapse_oidc_provider_keycloak %}
location /_synapse/oidc/callback {
{% if matrix_nginx_proxy_enabled %}
{# Use the embedded DNS resolver in Docker containers to discover the service #}
resolver 127.0.0.11 valid=5s;
set $backend "{{ matrix_nginx_proxy_proxy_matrix_client_api_addr_with_container }}";
proxy_pass http://$backend;
{% else %}
{# Generic configuration for use outside of our container setup #}
proxy_pass http://{{ matrix_nginx_proxy_proxy_matrix_client_api_addr_sans_container }};
{% endif %}

proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;

client_body_buffer_size 25M;
client_max_body_size {{ matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size_mb }}M;
proxy_max_temp_file_size 0;
}
{% endif %}


{% if matrix_nginx_proxy_proxy_matrix_user_directory_search_enabled %}
location ^~ /_matrix/client/r0/user_directory/search {
{% if matrix_nginx_proxy_enabled %}


Загрузка…
Отмена
Сохранить