NAV Navbar
Language 切换
shell node
  • 文档版本切换/单点登录(Single Sign On)
  • CAS单点登录
  • OAUTH2单点登录
  • 文档版本切换/单点登录(Single Sign On)

    Api接口v1版本

    Api接口v1版本是基础版本。也是我们的主要版本

    切换到v1版本

    Api接口v2版本

    Api接口v2版本是Api接口v1相关接口的升级,相对于v1版本,功能更丰富

    切换到Api接口v2版本

    单点登录接入指南(Single Sign On)

    单点登录,简称为 SSO,是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    切换到单点登录指南

    考试/测评、背调、视频面试接入指南 (platform)

    切换到考试/测评、背调、视频面试接入指南

    CAS单点登录

    CAS单点登录使用 CAS Protocol, 兼容 CAS protocol v2 和 CAS protocol v3

    a、流程图

    单点登录

    b、流程说明

    MOKA提供

    1. moka会提供一个登录url。
      1.1 cas单点登录url。
      1.2 例:https://app.mokahr.com/login_by/cas/orgId

    客户提供

    1. 客户首先需要搭建自己的cas服务器
    2. 客户需要提供自己的登录页面url。例:https://www.third.com/login
    3. 客户需要提供ticket校验url。例:https://www.third.com/ticket

    跳转流程

    1. 客户在自己的系统中配置moka提供的登录url
    2. 点击moka登录url时。由客户提供参数ticket、returnUrl、role
      2.1 不携带ticket参数跳转moka登录url时,moka会重定向到客户提供的登录页面url.客户登录之后需要重新重定向到moka提供的登录url并且必须携带ticket参数。
      2.2 携带着ticket参数跳转moka登录url时,moka会调用客户提供的ticket校验url获取用户信息
    3. 获取到用户信息之后,通过该用户信息判断
      3.1 如果该用户存在于moka系统中则进行登录。
      3.2 如果不存在则在moka系统内创建用户,创建成功后进行登录。
    4. 根绝role创建用户,如果不传该参数,默认为 recommender
      4.1 role=recommender,创建内推用户。
      4.2 role=interviewer,创建面试官。

    c、MOKA登录url说明

    跳转链接

    通过访问此接口,跳转到到MOKA

    HTTP 接口

    GET https://app.mokahr.com/login_by/cas/{orgId}

    请求Path参数

    字段 必填 类型 描述
    orgId 是 string 每个公司客户对应的唯一id,联系实施或csm获取。

    请求Query

    字段 必填 描述
    ticket 否 moka通过该参数来判断客户是否已经登录成功。
    不传ticket参数时,moka会重定向到客户提供的登录页面url。
    传ticket参数时,moka会调用客户提供的ticket校验url来获取用户信息
    returnUrl 否 登录成功后跳转的地址。如果设置,登录成功后会跳转到地址。如果不设置则默认跳转到对应角色的首页
    role 否 通过该链接创建的用户的角色。可选的值为 recommender 或 interviewer,如果不设置则默认为 recommender

    d、客户登录url说明

    跳转链接

    不传ticket参数时,moka会重定向到该url,通过访问此接口,跳转到到客户的登录页面

    HTTP 接口

    GET https://www.third.com/login(客户提供的登录地址)

    请求Query

    字段 必填 描述
    service 否 回调地址URL。

    e、请求客户ticket校验url

    moka会请求该url来获取用户信息

    HTTP 接口

    GET https://www.third.com/ticket

    请求示例

    $ curl https://www.third.com/ticket?ticket=${ticket}&service=${service} \
       -X GET \
    
    import request from 'request'
    
    async function main(){
     try {
        const uri = `https://www.third.com/ticket?ticket=${ticket}&service=${service}`;
        const token = Buffer.from('your_api_key').toString('base64');
        let options = {
          uri,
          headers: {
            Authorization: `Basic ${token}`
          }
        };
        request.get(options, function(err, res, body) {
          if (!err && res.statusCode == 200) { 
            console.log(body)
          } else {
            console.error(err);
          }
        });
      } catch (error) {
        console.error(error);
      }
    }
     main();
    
    

    返回样例

    <cas:serviceResponse xmlns:cas="https://www.third.com/login">
      <cas:authenticationSuccess>
      <cas:user>test@mokahr.com</cas:user>
      <cas:attributes>
        <cas:name>test</cas:name>
        <cas:email>test@mokahr.com</cas:email>
        <cas:phone>15045678910</cas:phone>
      </cas:attributes>
      </cas:authenticationSuccess>
    </cas:serviceResponse>
    

    请求Query

    字段 是否必填 描述
    ticket 是 客户登录成功后跳转moka登录url时携带的参数。
    service 是 回调地址URL。

    返回body(xml)

    字段 是否必填 描述
    user 是 用户信息的唯一标识。推荐使用邮箱
    name 是 用户的姓名。用户名为空,默认使用邮箱前缀作为用户名
    email 是 用户的邮箱
    phone 否 用户的电话

    OAUTH2单点登录

    开放授权的一个标准

    a、流程图

    单点登录

    b、流程说明

    MOKA提供

    1. moka会提供一个登录url。
      1.1 例:https://app.mokahr.com/login_by/oauth2/orgId
    2. moka会提供一个回调地址
      2.1 例:https://app.mokahr.com/login_by/oauth2/orgId/landing

    客户提供

    1. 客户需要提供自己的授权url。
      1.1 例:https://www.third.com/oauth/authorize
    2. 客户需要提供自己的获取token url。
      2.1 例:https://www.third.com/oauth/token
    3. 客户需要提供自己的获取用户信息 url。
      3.1 例:https://www.third.com/user

    跳转流程

    1. 客户在自己的系统中配置moka提供的登录url
    2. 点击moka登录url时。moka会重定向到客户的授权页面
    3. 客户在授权页面填写账号密码进行登录,登录成功后带着code跳转到moka的回调地址
    4. moka通过code调用客户的token接口获取token
    5. moka通过获取到的token调用客户的获取用户信息接口获取客户的用户信息
    6. 获取到客户的用户信息后进行登录

    c、MOKA登录url说明

    url说明

    通过访问此接口,跳转到到MOKA

    HTTP 接口

    GET https://app.mokahr.com/login_by/oauth2/{orgId}

    请求Path参数

    字段 必填 类型 描述
    orgId 是 string 每个公司客户对应的唯一id,联系实施或csm获取。

    请求Query

    字段 必填 描述
    ifGoRecommendWeb 否 moka通过该参数来判断客户是否跳转到内推页面。
    1、不传该参数时默认按照角色跳转。
    2、传固定值 '1' 时跳转内推官网。
    3、优先级高于returnUrl
    returnUrl 否 登录成功后跳转的地址。
    1、不传该参数时则默认跳转到对应角色的首页。
    2、传该参数时登录成功后会跳转到该地址。
    3、优先级低于ifGoRecommendWeb

    请求结果

    moka接收到请求后,会调用客户的授权url,跳转到客户的授权登录页面

    d、MOKA回调地址url说明

    url说明

    客户授权之后,需要带着code重定向到该地址。

    HTTP 接口

    GET https://app.mokahr.com/login_by/oauth2/{orgId}/landing

    请求Path参数

    字段 必填 类型 描述
    orgId 是 string 每个公司客户对应的唯一id,联系实施或csm获取。

    请求Query

    字段 必填 描述
    code 是 客户授权码code
    state 是 moka重定向到客户授权页面时携带的参数,授权成功后需要原封不动的传回来
    ifGoRecommendWeb 否 moka通过该参数来判断客户是否跳转到内推页面。
    1、不传该参数时默认按照角色跳转。
    2、传固定值 '1' 时跳转内推官网。
    3、优先级高于returnUrl
    returnUrl 否 登录成功后跳转的地址。
    1、不传该参数时则默认跳转到对应角色的首页。
    2、传该参数时登录成功后会跳转到该地址。
    3、优先级低于ifGoRecommendWeb

    e、客户授权url说明

    url说明

    客户的授权url,客户需要在该页面填写账号密码进行登录

    HTTP 接口

    GET https://www.third.com/oauth/authorize (客户提供的登录地址)

    请求Path参数

    无

    请求Query

    字段 必填 描述
    responseType 是 固定值 code
    clientId 是 应用id。
    1、该参数由客户提供
    redirectUri 是 回调地址。授权成功后的重定向地址。
    1、该参数由moka提供
    scope 是 授权范围。
    1、该参数由客户提供
    state 是 授权成功后,重定向到回调地址时需要携带该参数
    1、该参数由moka提供

    f、客户获取令牌url说明

    url说明

    客户的授权url,客户需要在该页面填写账号密码进行登录

    HTTP 接口

    GET https://www.third.com/oauth/token (客户提供的登录地址)

    请求Path参数

    无

    请求Query

    字段 必填 描述
    clientId 是 应用id。
    1、该参数由客户提供
    clientSecret 是 应用secret。
    1、该参数由客户提供
    grantType 是 授权方式。固定值authorization_code。
    code 是 上一步授权后获取到的授权码code。
    redirectUri 是 令牌token颁发后的回调网址。
    1、该参数由moka提供

    返回结果

    字段 字段 必填 描述
    code number 是 接口状态码。0: 成功
    msg string 是 接口调用说明
    data object 是 返回值
    data.accessToken string 是 令牌token
    data.expiresIn string 是 令牌过期时间
    data.refreshToken string 是 令牌刷新token

    g、客户获取用户信息url说明

    url说明

    客户的获取用户信息接口url,可以通过该接口获取授权客户的用户信息

    HTTP 接口

    GET https://www.third.com/user (客户提供的登录地址)

    请求Path参数

    无

    请求Query

    字段 必填 描述
    accessToken 是 令牌token。通过token接口获取

    返回结果

    字段 字段 必填 描述
    code number 是 接口状态码。0: 成功
    msg string 是 接口调用说明
    data object 是 返回值
    data.email string 是 客户邮箱