InfoPlusSSO - infoplus/docs GitHub Wiki

Overview

  • InfoPlusSSO,是指InfoPlus引擎对于其应用提供的单点登录服务

Login

  • 应用接入InfoPlusSSO服务的方案:

    • 作为InfoPlus的应用,通过标准的OAuth2的方式授权登录
    • InfoPlusSSO服务负责屏蔽具体的登录方案,具体参见下节
  • InfoPlusSSO的登录方案包括(所有方案可并存):

方式1. Mock密码登录

方式2. 企业SSO用户的登录

  • 企业内部的统一认证系统,必须存在且唯一,支持范围参见:EnterpriseSettings
  • 这是标准接入方案

方式3. 企业非SSO用户的登录 Membership方式

  • 企业内一些非SSO的用户,比如某些业务系统自身管理的用户
  • 接入方案:
    1. 该业务系统必须提供OAuth的登录服务
    2. 企业需要给出这种方式的登录入口,入口方式请参见后续章节

方式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}