InfoPlusSSO - infoplus/docs GitHub Wiki
Overview
- InfoPlusSSO,是指InfoPlus引擎对于其应用提供的单点登录服务
Login
-
应用接入InfoPlusSSO服务的方案:
- 作为InfoPlus的应用,通过标准的OAuth2的方式授权登录
- InfoPlusSSO服务负责屏蔽具体的登录方案,具体参见下节
-
InfoPlusSSO的登录方案包括(所有方案可并存):
方式1. Mock密码登录
- 具体参见EnterpriseSettings ,仅用于调试的场景
方式2. 企业SSO用户的登录
- 企业内部的统一认证系统,必须存在且唯一,支持范围参见:EnterpriseSettings
- 这是标准接入方案
方式3. 企业非SSO用户的登录 Membership方式
- 企业内一些非SSO的用户,比如某些业务系统自身管理的用户
- 接入方案:
- 该业务系统必须提供OAuth的登录服务
- 企业需要给出这种方式的登录入口,入口方式请参见后续章节
方式4. 第三方互联网SSO账号关联登录 已废弃
- 针对使用微信、微博、Google等互联网的第三方平台的SSO的登录
- InfoPlusSSO通过第三方互联网SSO授权登录后,会检测和企业内账号的关联情况:
- 如果关联过,则跳过企业SSO
- 否则跳转到企业SSO,登录并提示用户关联建立
- 此处"微信企业号"有所不同:如未关联过,直接提示错误
方式5. 第三方互联网SSO账号开放登录 已废弃
- 此方案针对非企业用户,比如应聘者、报名用户等
- 可配置此类用户的"初始化(默认)岗位",保障登录后即可使用流程
方式6. 快捷用户登录
- 通过租户secret生成的免登录链接访问系统,详细使用方式参考参数说明文档
- 通过邮件驱动流程办理
方式7. 匿名用户登录
- 通过配置租户的 ANONYMOUS_USER_ID(要求必须为快捷用户) 和指定
express=true参数,属于6的简化版。
对于上面3,4,5情况的登录入口方式的补充说明:
- 需在EnterpriseSettings增加Membership
- 请在应用GET /infoplus/oauth2/authorize 时,传入参数(或redirect_uri中带有) membership
- membership可以为membership的id,或者当Provider唯一时,使用Provider的名字
Logout
- 遵循OIDC协议 OpenID Connect RP-Initiated Logout 1.0
- 如: /infoplus/logout?post_logout_redirect_uri=encodeURIComponent({Return_URL})
- 兼容性上,
redirect_uri参数和post_logout_redirect_uri参数等同。
- InfoPlus will try to logout Enterprise SSO first and then redirect back to you app's {Return_URL}