开源软件供应链点亮计划 - 暑期2021
# 简介
JustAuth 开源社区, 致力于开源的授权认证技术开发、布道,包括 Social Login、OAuth 2.0、OIDC、SAML、LDAP、MFA、SSO。以开源之名,赋能开发者。名下开源项目 JustAuth 深受开发者喜欢,在 Gitee (opens new window) 和 Github (opens new window) 中的累计关注量达 18K,并荣获 Gitee GVP 称号,目前已有多个企业、组织和开源项目正在使用 JustAuth 完成极速的第三方登录集成。同时基于 JustAuth,结合目前流行的登录技术(OAuth 2.0,SAML、OIDC、LDAP、CAS等)又开源出了 JustAuthPlus。JustAuthPlus(以下简称"JAP")是一款开源的登录认证中间件,基于模块化设计,为所有需要登录认证的 WEB 应用提供一套标准的技术解决方案,开发者可以基于 JAP 适配绝大多数的 WEB 系统(自有系统、联邦协议)。
在开源软件供应链点亮计划 - 暑期 2021 (opens new window) 活动中,JustAuth 社区将提供以下项目任务 (opens new window),并搭配专业导师,帮助大家更好的完成项目。
包含项目:
- JustAuth
- JustAuthPlus
JustAuth 官网:https://justauth.wiki (opens new window)
JustAuthPlus 官网:https://justauth.plus (opens new window)
JustAuth 开发者交流 QQ 群:230017570
微信群请加:justauth
备注:summer2021
# 项目一:JustAuth 开发文档编写
项目支持报名语言:仅中文
项目地址:https://summer.iscas.ac.cn/#/org/prodetail/210860575 (opens new window)
- 项目名称: JustAuth 开发文档编写
- 项目描述: 基于现有的 API、代码,新增第三方平台的开发文档。步骤如下:
- 2.1. 在对应第三方平台创建开发者账号;
- 2.2. 在第三方平台创建 OAuth 应用;
- 2.3. 使用 JustAuth 完成第三方登录的功能开发;
- 2.4. 在以上流程中,详细记录相关操作步骤、功能代码、示例截图等资源,编写开发引导文档
- 项目备注: JustAuth 目前已支持Github、Gitee、微博、钉钉、百度、支付宝、QQ、微信、Google、Facebook、抖音、StackOverflow、Pinterest、人人、华为、企业微信、推特、阿里云、喜马拉雅、Amazon、Slack和 Line 等第三方平台的授权登录。目前暂缺微信公众平台、淘宝、抖音、小米、微软、今日头条、Teambition、Pinterest、人人、Gitlab、美团、饿了么、京东、喜马拉雅、Amazon平台的开发文档。
- 难度:
低 - 项目主导师: 张亚东
- 导师联系方式:zhyd@fujieid.com
点击邮箱地址快速发送邮件 - 项目标签:
Java JavaScript OAuth2.0 Markdown VuePress - 领域标签:
Dev Tools 第三方登录 - 项目产出要求:
- 9.1 输出第三方平台的集成开发文档
- 9.2 文档结构清晰
- 9.3 文档排版易于阅读(可参考现有文档)
- 9.4 描述文字不能存在过多的错字或者存在明显的表述错误
- 项目技术要求:
- 10.1 熟悉或了解 OAuth 2.0 协议
- 10.2 熟悉 JustAuth 项目的相关 API
- 10.3 熟悉 Markdown 基础语法
- 10.4 了解 VuePress 项目结构(非强制)
- 相关的开源软件仓库列表:
- https://gitee.com/justauth/justauth-wiki
- https://gitee.com/yadong.zhang/JustAuth
# 项目二:Add HTTP API login method in just auth plus.【在 JustAuthPlus 中添加 HTTP API 的登录方式】
项目支持报名语言: 中英文均可
项目地址:https://summer.iscas.ac.cn/#/org/prodetail/210860602 (opens new window)
- 项目名称:Add HTTP API login method in just auth plus.【在 JustAuthPlus 中添加 HTTP API 的登录方式】
- 项目描述:JustAuthPlus has integrated OAuth 2.0, oidc, account password and other login methods. However, in the actual login scenario, there is also a form of login authentication through the http api interface.【JusAuthPlus 中已经集成了 OAuth 2.0、OIDC、账号密码等多种登录方式。但在实际的登录场景中,还存在通过 HTTP API 接口的形式进行登录认证。】
- 项目备注:It is necessary to analyze the business requirements in the general api login scenario, and highly abstract the general logic. In addition to the simplest need to pass the account password, it also supports developers to customize the passing parameters, such as: request body, request header.【需要分析一般 API 登录场景中的业务需求,高度抽象出通用逻辑。除了最简单的需要传递账号密码外,还要支持开发者自定义传递参数,比如:request body、request header。】
- 难度:
高 - 项目主导师: 张亚东
- 导师联系方式:zhyd@fujieid.com
点击邮箱地址快速发送邮件 - 项目标签:
Java JustAuth Git YAML Maven Rest API - 领域标签:
Dev Tools Authenticate - 项目产出要求:
- 9.1 Add and complete the 'jap-http-api' module. 【增加并完成 jap-http-api 模块。】
- 9.2 Able to log in with account password in HTTP API mode. 【能够实现 HTTP API 方式的账号密码登录。】
- 9.3 Support adding http request parameters. 【支持添加 HTTP 请求参数。】
- 9.4 Support adding http request headers. 【支持添加 HTTP 请求头。】
- 项目技术要求:
- 10.1 Know the maven. 【了解 Maven。】
- 10.2 Know the Git. 【了解 Git 协作方式。】
- 10.3 Need to have good programming habits and code specification.【需要具备良好的编程习惯和编码规范。】
- 10.4 Know the project structure and basic code specification of JustAuthPlus.【了解 JustAuthPlus 的项目结构和基本的编码规范。】
- 10.5 The code written is original or refer to other open source projects. If it is a reference to other open source projects, you need to ensure that there is no incompatibility of open source licenses. 【编写的代码为原创或者参考其他开源项目。如果是参考的其他开源项目,需要保证不存在开源许可证不兼容的情况。】
- 相关的开源软件仓库列表:
- https://github.com/fujieid/jap
- https://gitee.com/fujieid/jap
- https://justauth.plus/community/code-of-conduct.html
- https://justauth.plus/community/contributing.html
# 项目三:开发 JFinal、Blade、ActFramework 集成 JustAuthPlus 的 Demo
项目支持报名语言:仅中文
项目地址:https://summer.iscas.ac.cn/#/org/prodetail/210860604 (opens new window)
- 项目名称: 开发 JFinal、Blade、ActFramework 框架集成 JustAuthPlus 的 Demo
- 项目描述: 基于现有的 API、代码,分别增加 JFinal、Blade、ActFramework 框架中集成 JustAuthPlus 的 Demo。
- 项目备注: 可以通过该项目深度了解 JustAuthPlus 的使用方式以及 OAuth 等协议的流程。同时还能了解 JustAuthPlus 解决的痛点问题,以及熟悉 JFinal、Blade、ActFramework 框架的应用。
- 难度:
中 - 项目主导师: 张亚东
- 导师联系方式:zhyd@fujieid.com
点击邮箱地址快速发送邮件 - 项目标签:
Java JavaScript Git OAuth2.0 JFinal Blade ActFramework 第三方登录 OAuth 2.0 - 领域标签:
Dev Tools 登录认证 OAuth Social - 项目产出要求:
- 9.1 分别完成 JFinal、Blade、ActFramework 框架集成 JustAuthPlus 的 demo
- 9.2 demo 中需要支持第三方登录、OAuth 登录、OIDC 登录、账号密码登录这几种登录方式
- 项目技术要求:
- 10.1 熟悉或了解 OAuth 2.0 协议
- 10.2 熟悉 JustAuthPlus 项目的相关 API
- 10.3 熟悉或者对 JFinal、Blade、ActFramework 框架感兴趣
- 相关的开源软件仓库列表:
- https://github.com/fujieid/jap
- https://gitee.com/fujieid/jap
- https://justauth.plus/community/code-of-conduct.html
- https://justauth.plus/community/contributing.html
- http://localhost:8088/quickstart/
# 项目四:Using GitHub Action to complete CI of justauth snapshot version.【使用 Github Action 完成 JustAuth 快照版本的持续集成】
项目支持报名语言: 中英文均可
项目地址:https://summer.iscas.ac.cn/#/org/prodetail/210860576 (opens new window)
- 项目名称:Using GitHub Action to complete CI of justauth snapshot version.【使用 Github Action 完成 JustAuth 快照版本的持续集成】
- 项目描述: Use GitHub action to automatically publish the snapshot version of justauth, so that developers can preview / use the latest features in time.【使用 Github Action 自动发布 JustAuth 的快照(SNAPSHOT)版本,以便开发人员可以及时预览/使用最新的功能/特性。】
- 项目备注:
- 难度:
中 - 项目主导师: 沈扬凯
- 导师联系方式:shenyangkai1994@gmail.com
点击邮箱地址快速发送邮件 - 项目标签:
Java Git YAML Maven - 领域标签:
Dev Tools CI - 项目产出要求:
- 9.1 Add YML configuration file of GitHub action. 【增加 Github Action 的 yml 配置文件。】
- 9.2 Ensure that GitHub action can be executed normally and the snapshot version can be released. 【确保 Github Action 可以正常执行并能发布快照版本。】
- 项目技术要求:
- 10.1 Know the GitHub action. 【了解 GitHub Action。】
- 10.2 Know the maven. 【了解 Maven。】
- 10.3 Know the YAML. 【了解 YAML。】
- 相关的开源软件仓库列表:
- https://github.com/justauth/JustAuth
# 项目五:基于 jap-ids 开发一款上手即用的 OAuth 2.0 授权服务
项目支持报名语言:仅中文
项目地址:https://summer.iscas.ac.cn/#/org/prodetail/210860608 (opens new window)
- 项目名称: 基于 jap-ids 开发一款上手即用的 OAuth 2.0 授权服务
- 项目描述: jap-ids 对 OAuth 2.0 以及 OIDC 协议完成了底层的封装,基于 jap-ids 开发者可以开发出一款自己的 OAuth 授权服务。
- 项目备注:
- 难度:
中 - 项目主导师: 沈扬凯
- 导师联系方式:shenyangkai1994@gmail.com
点击邮箱地址快速发送邮件 - 项目联合导师: 张亚东
- 导师联系方式:zhyd@fujieid.com
- 项目标签:
Java JavaScript Git OAuth2.0 OIDC - 领域标签:
Dev Tools OAuth2.0 OIDC - 项目产出要求:
- 11.1 基于 jap-ids 完成 OAuth 服务端的开发
- 11.2 可以基于基础的 Servlet 开发,也可以基于 Spring 等框架开发
- 11.3 需要编写相关的使用文档
- 项目技术要求:
- 12.1 熟悉或了解 OAuth 2.0 协议
- 12.2 熟悉 JustAuthPlus 项目的相关 API
- 相关的开源软件仓库列表:
- https://github.com/fujieid/jap
- https://gitee.com/fujieid/jap
- https://justauth.plus/ids/
- https://justauth.plus/community/code-of-conduct.html
- https://justauth.plus/community/contributing.html
# 项目六:开发 springboot starter 依赖包
项目支持报名语言:仅中文
项目地址:https://summer.iscas.ac.cn/#/org/prodetail/210860680 (opens new window)
- 项目名称: 开发 springboot starter 依赖包
- 项目描述: 开发 jap 的 springboot starter 依赖包,包括:
- ① jap-simple-springboot-starter:账号密码登录的 starter 包
- ② jap-oauth2-springboot-starter :OAuth 2.0 协议登录的 starter 包
- ③ jap-social-springboot-starter :社会化登录的 starter 包
- ④ jap-oidc-springboot-starter:OIDC 协议登录的 starter 包
- ⑤ jap-springboot-starter:包括以上所有功能的总的 starter 包。
- 项目备注:通过本项目,可以深入学习 springboot starter 相关的知识、技能,帮助学员快速入门 springboot
- 难度:
高 - 项目主导师: 沈扬凯
- 导师联系方式:shenyangkai1994@gmail.com
点击邮箱地址快速发送邮件 - 项目联合导师: 张亚东
- 导师联系方式:zhyd@fujieid.com
- 项目标签:
Java Git springboot springboot starter - 领域标签:
Dev Tools OAuth2.0 OIDC - 项目产出要求:
- 11.1 创建并完成 jap-simple-springboot-starter 依赖包
- 11.2 创建并完成 jap-oauth2-springboot-starter 依赖包
- 11.3 创建并完成 jap-social-springboot-starter 依赖包
- 11.4 创建并完成 jap-oidc-springboot-starter 依赖包
- 11.5 创建并完成 jap-springboot-starter 依赖包
- 11.6 编写相关的使用文档
- 11.7 编写测试用例
- 项目技术要求:
- 12.1 熟悉 SpringBoot
- 12.2 对 SpringBoot Starter 项目结构有了解
- 12.2 熟悉 Maven
- 12.2 熟悉 Git
- 12.2 熟练使用 JDK 8 +
- 12.2 对 JustAuthPlus 项目有相关了解
- 相关的开源软件仓库列表:
- https://github.com/fujieid/jap
- https://gitee.com/fujieid/jap
- https://justauth.plus/ids/
- https://justauth.plus/community/code-of-conduct.html
- https://justauth.plus/community/contributing.html