MyOIDC –基于OIDC协议的参考实现,根据各类库提供实现参考 。正式版本v1.1.1发布,主要更新内容:
- 修改启动方法为jar直接运行
- 更新How-To-Use.txt
- AccessToken使用时允许获取更详细用户信息
- 增加 JWKS test与使用说明示例
- jose4j升级使用0.7.1版本
MyOIDC –基于OIDC协议的参考实现,根据各类库提供实现参考 。正式版本v1.1.1发布,主要更新内容:
MyOIDC –基于OIDC协议的参考实现,根据各类库提供实现参考 。第1个正式版本v1.1.0发布,主要更新内容:

V1.1.0 代码库链接:
GitHub: https://github.com/monkeyk/MyOIDC/tree/v1.1.0
Gitee: https://gitee.com/mkk/MyOIDC/tree/v1.1.0/
在 https://jwt.io/ 网站中收录有各类语言的JWT库实现(有关JWT详细介绍请访问 https://jwt.io/introduction/),
其中JAVA语言到目前(2018-06)有6个实现库,如下图:
按顺序依次是
Auth0实现 的 java-jwt
Brian Campbell实现的 jose4j
connect2id实现的 nimbus-jose-jwt
Les Haziewood实现的 jjwt
Inversoft实现的prime-jwt
Vertx实现的vertx-auth-jwt.
以下是各个库的使用测试
java-jwt
点评:
Auth0提供的JWT库简单实用, 依赖第三方(如JAVA运行环境)提供的证书信息(keypair);
有一问题是在 生成id_token与 校验(verify)id_token时都需要 公钥(public key)与密钥(private key), 个人感觉是一不足(实际上在校验时只需要public key即可)
jose4j
点评:
jose4j提供了完整的JWT实现, 可以不依赖第三方提供的证书信息(keypair, 库本身自带有RSA的实现),类定义与JWT协议规定匹配度高,易理解与上手
对称加密与非对称加密都有提供实现
nimbus-jose-jwt
点评:
nimbus-jose-jwt库类定义清晰,简单易用,易理解 , 依赖第三方提供的证书信息(keypair), 对称算法 与非对称算法皆有实现.
jjwt
点评:
jjwt小巧够用, 但对JWT的一些细节包装不够, 比如 Claims (只提供获取header,body)
prime-jwt
点评:
prime jwt库怎么说呢, 有些地方不符合JAVA语言规范, 支持对称算法(HMAC) 与非对称算法(RSA), 也算容易理解
vertx-auth-jwt
点评:
Vertx Auth Jwt 库算是最不容易理解的一个库了.花了不少时间才弄通这一示例. 不容易上手. 并且生成与校验id_token 时都需要公钥与私钥,不足.
———————————————————
以下是在使用中的一些总结或注意点
1. 几乎所有库都要求JAVA版本1.7或更高版本, 1.6或以下的版本需要二次开发(或不支持)
2.从易用性, 扩展性, 完整性等来看, 使用首先推荐 jose4j, 其次是 Nimbus-jose-jwt.
3. JWT是实现OIDC的基石,掌握其使用对实现OIDC有很大帮助(同时对JAVA证书使用, PKI体系的掌握也有要求)
感谢这篇文章, 对于帮助学习与理解 OIDC 协议与使用的 朋友来说, 最全面的一文章.
不多言, 详细请访问
http://www.cnblogs.com/linianhui/p/openid-connect-core.html
拥抱OIDC
在之前的博客文章中, 曾不止一次介绍了OIDC协议及相关知识(详细访问: https://andaily.com/blog/?s=OIDC)
现在,开始一个新的开源项目: MyOIDC (https://git.oschina.net/mkk/MyOIDC), 将其相关的知识与实现给代码化,
我们将着重提供比OAuth2实现更好,更安全的认证与授权 安全框架实现.
顺便传播OIDC, 使用OIDC, 拥抱OIDC…
欢迎你的关注与支持…
spring-oauth-server 0.6版本发布,该版本主要增加有缓存的支持, 具体的功能更新如下:
OIDC是基于OAuth2的下一代身份认证授权协议,在0.6版本中添加了对OIDC1.0版本协议文档,同时在进行中文的翻译,具体请访问 https://andaily.com/blog/?p=440
spring-oauth-server 是一个整合OAuth2与Spring Security的安全应用项目,是从https://github.com/spring-projects/spring-security-oauth/tree/master/spring-security-oauth2扩展的符合实际项目需要的开源项目,可扩展为移动SSO解决方案.
0.6版本访问地址: http://git.oschina.net/shengzhao/spring-oauth-server/tree/0.6/
OIDC(OpenID-Connect) 1.0协议的最终版本早已确认, 用自己的语言在进行翻译中(core部分),
OpenID Connect Core 1.0 incorporating errata set 1
截止2016-08-28的翻译进度(章节3.1.2.3)
中文版: https://monkeyk.com/oidc/Final_OpenID-Connect-Core-1.0-incorporating-errata-set-1_CN.html
英文原版: http://openid.net/specs/openid-connect-core-1_0.html
JSON Web Signature(JWS): https://tools.ietf.org/html/rfc7515
持续更新中…
也可访问: http://www.cnblogs.com/linianhui/p/openid-connect-core.html
与OIDC相关介绍请访问: https://andaily.com/blog/?p=440