Grafana
在 Grafana 中使用 Casdoor 进行身份验证
Grafana支持通过OAuth进行身份验证。 因此,用户使用Casdoor登录Grafana非常容易。 只需要几个步骤和简单的配置就可以实现。
这是一个关于如何在Grafana中使用Casdoor进行身份验证的教程。 在您继续之前,请确保您已安装并运行了Grafana。
步骤1:在Casdoor中为Grafana创建一个应用
这是在Casdoor中创建应用的一个示例:
请复制客户端密钥和客户端ID以进行下一步操作。
请添加Grafana的回调URL。 默认情况下,Grafana的OAuth回调是/login/generic_oauth
。 所以请正确地连接这个URL。
步骤2:修改Grafana的配置
默认情况下,OAuth的配置文件位于Grafana的工作目录中的conf/defaults.ini
。
请找到部分[auth.generic_oauth]
并修改以下字段:
[auth.generic_oauth]
name = Casdoor
icon = signin
enabled = true
allow_sign_up = true
client_id = <来自上一步的客户端ID>
client_secret = <来自上一步的客户端秘密>
auth_url = <Casdoor端点>/login/oauth/authorize
token_url = <Casdoor端点>/api/login/oauth/access_token
关于HTTPS
如果你不希望为Casdoor启用HTTPS,或者你在没有启用HTTPS的情况下部署Grafana,请同时设置tls_skip_verify_insecure = true
。
关于使用Casdoor登录后的redirectURI
如果在Grafana中使用Casdoor登录后重定向URI不正确,您可能需要配置root_url。
[server]
http_port = 3000
# 用于从浏览器访问Grafana的公开面向的域名
domain = <你的IP地址>
# 完整的公开面向的URL
root_url = %(protocol)s://%(domain)s:%(http_port)s/
相关链接:
关于角色映射
您可能希望配置role_attribute_path
,通过role_attribute_path将您的用户角色映射到Grafana。
[auth.generic_oauth]
role_attribute_path = contains(roles[*].name, 'admin') && 'Admin' || contains(roles[*].name, 'editor') && 'Editor' || 'Viewer'
role_attribute_strict = true
allow_assign_grafana_admin = true
这里的role_attribute_path
后的JMESPath表达式非常重要。 请参考Grafana文档。
步骤3:查看是否有效
关闭Grafana并重新启动它。
前往登录页面。 你应该会看到类似这样的东西: