/MyOIDC

基于OIDC协议的参考实现,根据各类库提供实现参考

Primary LanguageHTMLApache License 2.0Apache-2.0

#MyOIDC

openid

基于OIDC协议的参考实现,根据各类库提供实现参考.

提示:从v1.1.2版本开始最新的代码更新在Gitee上,访问地址 https://gitee.com/mkk/MyOIDC

OIDC(OpenID Connect), 下一代的身份认证授权协议; 当前发布版本1.0;
OIDC是基于OAuth2+OpenID整合的新的认证授权协议; OAuth2是一个授权(authorization)的开放协议, 在全世界得到广泛使用, 但在实际使用中,OAuth2只解决了授权问题, 没有实现认证部分,往往需要添加额外的API来实现认证; 而OpenID呢,是一个认证(authentication )的协议, 二者在实际使用过程中都有其局限性;
综合二者,即是OIDC; 通过OIDC,既能有OAUTH2的功能,也有OpenID的功能; 恰到好处… 查看完整介绍


OIDC 协议

Version: 1.0

英文原版: http://openid.net/specs/openid-connect-core-1_0.html

JSON Web Signature(JWS): https://tools.ietf.org/html/rfc7515

JSON Web Encryption(JWE): http://tools.ietf.org/html/draft-ietf-jose-json-web-encryption

JSON Web Key(JWK): https://tools.ietf.org/html/draft-ietf-jose-json-web-key-41

OIDC相关文章与介绍 http://andaily.com/blog/?s=OIDC


项目介绍

Maven项目, 字符编码: UTF-8; 基于TDD模式与DDD模式设计; 使用SpringBoot实现

使用的框架与版本号
  • JDK (1.8.0_40)

  • SprintBoot (2.1.4.RELEASE)

  • Sprint-Security-OAuth (2.3.5.RELEASE)

  • Jose4j (0.7.1)

  • MySQL (5.7)

模块说明

  • myoidc-server - OpenID Provider[OP] 认证授权服务端

  • myoidc-client - Relying Party[RP] 客户端


功能列表

介绍项目开发的计划与安排, 以及各个功能点

  • 编写各个OIDC实现库的使用DEMO

  • 参考OIDC协议实现具体的流程

  • 项目整体基于spring-oauth-server扩展实现


项目日志

  1. 2016-12-25 项目公开, 完善文档. 添加OIDC 库测试代码 Jose4JTest.java, NimbusJoseJwtTest.java

  2. 2016-07-12 开始尝试翻译OIDC协议为中文

  3. 2017-01-21 加入GitHub https://github.com/monkeyk/MyOIDC, Git@OSC地址 http://gitee.com/mkk/MyOIDC

    (与GitHub同步)
  4. 2018-02-04 开始1.1.0分支, 使用SprintBoot重构, 开始受折磨的技术

  5. 2020-03-10 1.1.0分支继续开发, 包括Endpoint API, 界面流程完善,EU,RP功能开发等; 详细查看文件others/development-log.txt

  6. 2020-04-16 1.1.0分支开发完成, v1.1.1开始分支

  7. 2020-06-03 1.1.1分支开发完成并发布, 开始v1.1.2分支


相关资源


国内OIDC 实践


拥抱OIDC…