首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于Keycloak的Grafana SSO身份认证过程剖析

Keycloak是一款主流的IAM(Identity and Access Management 的缩写,即“身份识别与访问管理”)开源实现,它具有单点登录、强大的认证管理、基于策略的集中式授权和审计、...,从而帮助用户更理解OAuth2的交互过程; 下图就是最终的过程图示: image.png 1、一键式Keycloak安装 基于项目需要,我们在使用Keycloak时,需要外接企业微信的认证方式,鉴于...Keycloak已有的Social Login并不支持企业微信,我们对此作出了扩展, https://github.com/qugeppl/keycloak-social-wecom ,并基于官方的12.0.4...,其实都是Keycloak(或者其他IAM)里的一个Client,所以需要去Keycloak创建出这个client,并且拿到对应的信息; 2.2 Keycloak配置 访问 上述步骤安装后的Keycloak...Grafana SSO登录过程分析 按照上述的步骤,你的grafana配置好后,已经能够使用keycloak进行登录了(需要在Keycloak创建用户): 当然你需要在Keycloak的Test域下创建一个用户

7.4K111

基于 LDAP 的统一认证服务 Keycloak

当然,这些产商之所以选择 OpenID Connect 而不选择 CAS,可能主要还是因为 OpenID Connect 是基于 OAuth 2.0 的统一认证服务解决方案。...为了验证一下是否可以采用 LDAP 作为基础存储来构建统一认证服务,这里选择了比较知名的由 RedHat 赞助开发的基于 OpenID Connect 协议的开源软件 Keycloak。...其实,基于 CAS 协议也有比较知名的 aperoeo/cas。但是怎么说呢,不选它有两个原因:一是它是基于 CAS 协议的;二是它的功能和我想要的有点不大一样。...LDAP 直接集成应用   除了上面介绍了搭建基于 LDAP 的统一认证服务(例如 Keycloak)可以为其他应用提供登录验证服务,还可以直接将应用与 LDAP 服务集成。...(采用 CC BY-NC-SA 4.0 许可协议进行授权) 本文标题:《 基于 LDAP 的统一认证服务 Keycloak 》 本文链接:https://lisz.me/tech/webmaster/ldap-integration.html

10.7K71
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    keycloak+istio实现基于jwt的服务认证授权

    envoy rbac介绍 基于角色的访问控制(RBAC)为服务提供服务级别和方法级别的访问控制。RBAC政策是附加的。依次检查策略。根据操作以及是否找到匹配的策略,允许或拒绝请求。...为了匹配此策略的所有下游,应使用any字段设置为true的单个Principal。 本文将基于istio和keyclock应用envoy的rbac策略,实现基于jwt的权限控制。...启动keycloak docker run -d -p 8443:8443 -p 80:8080 -e PROXY_ADDRESS_FORWARDING=true -e KEYCLOAK_USER=...admin -e KEYCLOAK_PASSWORD=admin quay.io/keycloak/keycloak:11.0.0 配置keycloak 创建istioclient ?...[root@centos /]# curl "http://httpbin.foo:8000/ip"{ "origin": "127.0.0.1"} 总结 使用keycloak结合istio可以实现细粒度的认证授权策略

    3.1K40

    keycloak集群化的思考

    作为硬核工业代表的wildfly也不例外,最近研究了一下keycloak的集群,发现它的底层服务器用的也是wildfly,本文将会和大家探讨一下keycloak的集群的架构思路。...keycloak中的集群 我们知道,keycloak中有两种模式,一种叫做Standalone,一种叫做domain。...除此之外,keycloak还介绍了一种叫做跨数据中心的集群 这种模式主要用在服务是跨数据中心的情况,比如说异地机房这样的容灾性特别强的情况。...看完keycloak的基本集群搭建之后,我们来讲一下keycloak集群中一些比较关键的概念和使用。...在缓存保存数据,需要注意数据更新后的失效问题。 在keycloak中,使用了一个单独的work缓存,这个缓存是所有数据中心同步的,它不存储实际的数据,只存储要无效的数据通知。

    1.3K30

    keycloak集群化的思考

    作为硬核工业代表的wildfly也不例外,最近研究了一下keycloak的集群,发现它的底层服务器用的也是wildfly,本文将会和大家探讨一下keycloak的集群的架构思路。...keycloak中的集群 我们知道,keycloak中有两种模式,一种叫做Standalone,一种叫做domain。... 主要用的是modcluster,infinispan和jgroups。 除此之外,keycloak还介绍了一种叫做跨数据中心的集群 ?...这种模式主要用在服务是跨数据中心的情况,比如说异地机房这样的容灾性特别强的情况。 看完keycloak的基本集群搭建之后,我们来讲一下keycloak集群中一些比较关键的概念和使用。...在缓存保存数据,需要注意数据更新后的失效问题。 在keycloak中,使用了一个单独的work缓存,这个缓存是所有数据中心同步的,它不存储实际的数据,只存储要无效的数据通知。

    1.4K21

    静态资源配置的问题

    spring boot 的项目是将静态资源打包到.jar 的文件包中, 项目中有碰到需要使用外部静态资源的情况,使用外部资源的一直老出问题,查了google 后发现是指定的方式不对。...静态资源配置 将 resource/static 进行映射,springboot 默认优先级: /META-INF/resources/ /resources/ /static/ /public/ spring...: mvc: static-path-pattern: /late resources: static-locations: classpath:/templates/dist/ 这两天遇到的坑...2.指定项目外的磁盘路径 如果要映射本地磁盘路径,可以使用,注意必须得有 file:, 注意必须得有file:,注意必须得有file: 否则 404, 重要事情说三遍。...static-path-pattern 3.还有一种方式是打包到 webjars 中,不过一样是费劲的事,不如直接指定外部磁盘路径,使用 nginx 做转换成功访问静态文件,但是配置更麻烦。

    72030

    静态资源配置的问题

    spring boot 的项目是将静态资源打包到.jar 的文件包中, 项目中有碰到需要使用外部静态资源的情况,使用外部资源的一直老出问题,查了google 后发现是指定的方式不对。...静态资源配置 将 resource/static 进行映射,springboot 默认优先级: /META-INF/resources/ /resources/ /static/ /public/ spring...: mvc: static-path-pattern: /late resources: static-locations: classpath:/templates/dist/ 这两天遇到的坑...2.指定项目外的磁盘路径 如果要映射本地磁盘路径,可以使用,注意必须得有 file:, 注意必须得有file:,注意必须得有file: 否则 404, 重要事情说三遍。...static-path-pattern 3.还有一种方式是打包到 webjars 中,不过一样是费劲的事,不如直接指定外部磁盘路径,使用 nginx 做转换成功访问静态文件,但是配置更麻烦。

    15820

    观点丨依托大数据,医改要有基于标准体系的资源配置

    社区与医院建立两个标准 上海新医改的最核心的部分是建立了两个标准:一个是基于社区卫生服务中心的标化工作量;一个就是基于公立医院改革、公立医院发展的病种指数。...许速表示,这些标准在不同层面被不同地利用,在市级层面主要做评价、政策和导向;在区层面,不仅是做评价,还要做基于评价的包括资源配置在内的政策联动;在医院层面,要建立现代化医院管理制度。...根据区域特点、年龄结构,基于标化工作量,可以具体到每一个标化工作单价、政府资源配置、家庭医生的薪酬的提取等,形成标准体系下的资源配置机制。...大数据指明医改症结 许速认为,医改的难点在于信息不对称,而通过大数据可以揭开医改的面纱,发现其中的问题。比如基于大数据可以了解医疗费用增高的具体结构。...而医改需要形成基于目标、基于大数据的各个部门的联动机制。“要基于大数据建立标准,构建各方平衡,同时基于标准形成机制,作为各方利益的平衡方法,这样我们才能真正形成联动,医改才能真正成功。”

    71250

    Keycloak Spring Security适配器的常用配置

    在上一篇Keycloak系列文章中,我们把Keycloak同Spring Security成功适配,其中用了一个keycloak.json的配置。...它包含了不少属性,我觉得在深入学习Keycloak的过程中有必要和大家共同学习一下。 ❝系列文章请移步Keycloak认证授权系列。...Keycloak适配器的常用属性 在Spring Security集成Keycloak 适配器时需要引入一些额外的配置属性。一般我们会把它配置到Spring Boot的配置文件中。...realm Keycloak领域名称,这是一个必须项。 resource 应用的client_id,Keycloak服务器上注册的每个客户端都有一个独一无二的标识。这是一个必须项。...总结 上面列举了大部分我们常用的属性,后面的属性和定制Keycloak服务器相关暂时不介绍了。Keycloak剩下的配置项可以到Keycloak Java适配器配置项[1]查看。

    2.6K51

    基于知识图谱的文本自动注释(python+html)

    在探索知识图谱的过程中,发现它可以做一个有趣的应用——文本自动注释。在此整理并分享给大家。...这个时候,就该让文本自动注释发挥作用了,下面是注释后的文本(鼠标放在超链接上可以看到简介,点击则会跳转到相应的百度百科页面): 央视网消息:北京时间6月30日晚22点,2018年俄罗斯世界杯1/8决赛迎来一场强强对话...DESC:该词条的简介 CATEGORY_ZH:所属类别 中文名、外文名:在实体链接(后面提到)中有时可用作别名 对于CN-DBpedia中没有收录的词语,ret对应的是一个空列表,比如细心的读者在一开始的例子中也许注意到了这次世界杯上闪耀的新星姆巴佩并没有被加上注释...接下来,文本注释要做的,就是把相应的信息和链接放到对应的文本位置上。这里我们就要使用HTML的特性:在href属性上放上超链接,在title属性上则可以放上鼠标悬停时会看到的注释。...上面实现了一个完整的从txt文件到注释好的html的流程,也处理了实际应用中可能会出现的一些小问题。

    95220

    云计算资源配置的联合优化研究

    本文介绍一篇采用随机规划模型来进行虚拟机和带宽资源配置的论文。...这个成果来自于南洋理工大学计算机工程学院Chase 、Niyato两位学者的研究,该文章于2017年5月发表在IEEE Transactions服务计算第10卷第3期。...众多虚拟机(Virtual Machines ,VMs)的应用,导致了对网络带宽的要求越来越高;然而,以往文献缺乏对虚拟机和带宽资源配置和权衡这一挑战性问题进行充分的研究。...为了提高随机优化的求解效率,作者采用了随机情景树剪辑法,有效地缩小了问题的可行解空间。这一方法既显著提高了算法的可行性,同时保持了很好的启发性(可理解为最优解的可获得性,译者注)。...此外,作者采用参数敏感度分析检验了算法的鲁棒性。基于云计算需求的历史数据,以对应的确定优化模型作为参照,本文提出的模型获得的决策方案更优,而且更好地适应于各种参数的变化。

    1.9K70

    深度解读-如何用keycloak管理external auth

    最好能有一套通用的解决方案来解放双手, 今天我们就聊聊如何用keycloak实现一套通用的身份验证和授权管理方案。 提前说明,无法本地复刻的技术方案不利于理解,也不利于方案探讨。...编程语言实现上大同小异,下边代码以rust的oauth2库为例讲解 如果不熟悉rust,可以重点看代码注释,也不影响理解 初始化oidc client // src/extensions/google_auth.rs...等效的页面配置可以后边参考之前的链接 How to setup Sign in with Google using Keycloak[6] # 这里使用默认的admin-cli配置keycloak #.../login-callback" ] web_origins = ["*"] use_refresh_tokens = true } 别看代码版的配置稍微有点多,主要配置其实就只有注释里的三处...不过这里拿到的是keycloak的token。要是需要google的token怎么办? 别急,有两种办法。

    70130

    注释的引入

    注释的引入 看以下程序示例(未使用注释) 看以下程序示例(使用注释) 小总结(注释的作用) 通过用自己熟悉的语言,在程序中对某些代码进行标注说明,这就是注释的作用,能够大大增强程序的可读性...注释的分类 单行注释 以#开头,#右边的所有东西当做说明,而不是真正要执行的程序,起辅助说明作用 # 我是注释,可以在里写一些功能说明之类的哦 print('hello world') ...多行注释 ''' 我是多行注释,可以写很多很多行的功能说明 下面的代码完成 ,打印一首诗 名字叫做:春江花月夜 ''' print('╔═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤...但是在python2中就需要一定的额外操作才可以 python2中,如果直接在程序中用到了中文,比如 print('你好') 如果直接运行输出,程序会出错: 解决的办法为:在程序的开头写入如下代码,这就是中文注释...#coding=utf-8 修改之后的程序: #coding=utf-8 print('你好') 运行结果: 你好 注意: 在python的语法规范中推荐使用的方式: # -*- coding:utf

    34320
    领券