![图片[1]-Nextcloud 配置Authelia Openid 登录-RSG-人生观](https://www.lxg2016.com/wp-content/uploads/2022/04/20220401085457562.png)
前言:
前一段时间,我出了一篇authelia的部署教程,今天在补一个nextcloud的关联教程,就当扩展一下authelia的用处把。
教程:
两个平台部署教程,可以在本站,或者其他地方获取到安装教程,我这里就不在安装上面多说了。
我们需要在nextcloud上安装Openid connect插件。
![图片[2]-Nextcloud 配置Authelia Openid 登录-RSG-人生观](https://www.lxg2016.com/wp-content/uploads/2023/06/1688011021-97161ed7c91a7f9.png)
![图片[3]-Nextcloud 配置Authelia Openid 登录-RSG-人生观](https://www.lxg2016.com/wp-content/uploads/2023/06/1688011075-c1c0e81c80fc9ba.png)
在搜索的对话框里输入OpenID Connect Login,搜索到内容后,直接安装并启用就可以了。
找到nextcloud容器映射的配置文件夹内找到config.php在文件内添加下面的内容
'allow_user_to_change_display_name' => false, 'lost_password_link' => 'disabled', 'oidc_login_provider_url' => 'https://auth.example.com', 'oidc_login_client_id' => 'nextcloud', 'oidc_login_client_secret' => 'passwd', 'oidc_login_auto_redirect' => false, 'oidc_login_end_session_redirect' => false, 'oidc_login_button_text' => 'Log in with Authelia', 'oidc_login_hide_password_form' => false, 'oidc_login_use_id_token' => true, 'oidc_login_attributes' => array ( 'id' => 'preferred_username', 'name' => 'name', 'mail' => 'email', 'groups' => 'groups', ), 'oidc_login_default_group' => 'oidc', 'oidc_login_use_external_storage' => false, 'oidc_login_scope' => 'openid profile email groups', 'oidc_login_proxy_ldap' => false, 'oidc_login_disable_registration' => false, 'oidc_login_redir_fallback' => false, 'oidc_login_alt_login_page' => 'assets/login.php', 'oidc_login_tls_verify' => true, 'oidc_create_groups' => false, 'oidc_login_webdav_enabled' => false, 'oidc_login_password_authentication' => false, 'oidc_login_public_key_caching_time' => 86400, 'oidc_login_min_time_between_jwks_requests' => 10, 'oidc_login_well_known_caching_time' => 86400, 'oidc_login_update_avatar' => false,
配置部分标注红色的部分,oidc_login_provider_url是authelia访问的地址,oidc_login_client_secret可以理解为是一个密码,可以使用
tr -cd '[:alnum:]' < /dev/urandom | fold -w "64" | head -n 1 | tr -d '\n'在ssh窗口输入就可以得到密码粘贴到oidc_login_client_secret的配置引号内,到此nextcloud配置部分就结束了。openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048openssl rsa -pubout -in private_key.pem -out public_key.pemopenssl rsa -in private_key.pem -outform PEM -out issuer_private_key.pemcat issuer_private_key.pemidentity_providers:
oidc:
hmac_secret: this_is_a_secret_abc123abc123abc
issuer_private_key: |
-----BEGIN PRIVATE KEY-----
你的key填充在这里
-----END PRIVATE KEY-----
access_token_lifespan: 1h
authorize_code_lifespan: 1m
id_token_lifespan: 1h
refresh_token_lifespan: 90m
enable_client_debug_messages: false
clients:
- id: nextcloud
description: NextCloud
secret: '这里的密码修改上面用命令生成的要与nextcloud写的密码相同'
public: false
authorization_policy: two_factor
redirect_uris:
- https://nextcloud.example.com/apps/oidc_login/oidc ###红色部分修改为你的nextcloud的地址,有端口的记得携带。
scopes:
- openid
- profile
- email
- groups
userinfo_signing_algorithm: RS256
修改好上面的配置文件后,写入到authelia末尾保存重启authelia。
![图片[4]-Nextcloud 配置Authelia Openid 登录-RSG-人生观](https://www.lxg2016.com/wp-content/uploads/2023/06/1688013118-e27c820462330a6.png)
保存之后,登录nextcloud,下面会出现一个authelia的登录选项。
![图片[5]-Nextcloud 配置Authelia Openid 登录-RSG-人生观](https://www.lxg2016.com/wp-content/uploads/2023/06/1688013274-dc2a2bf06e25539.png)
点击 log in with Authelia 就可以跳转到authelia的验证页面,完成验证后,authelia会自动注册一个新的账号到nextlcoud,颜面会有一点延迟,进第一次时间稍微长一点,以后就不会了。
![图片[6]-Nextcloud 配置Authelia Openid 登录-RSG-人生观](https://www.lxg2016.com/wp-content/uploads/2023/06/1688013393-957ba64e92048ce.png)
这里需要注意,使用的authelia的账号,邮箱不能和nextlcoud的相同,否者会被覆盖,如果是管理员账号,覆盖后会变成普通用户权限,只能重新安装nextcloud。
参考文档:
本教程,参考authelia官方文档页面进行配置,如有其他问题请访问:Nextcloud – Integration – Authelia
结尾:
authelia目前我使用还是比较舒服的,减少了以前打开一个窗口就输入一次账号和密码的尴尬,而且从authelia的验证方式,比traefik做的要更好一些,如果大家有啥问题可以在下面留言或者q群喊我。









暂无评论内容