ciam-node-sdk
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.0 • Public • Published

    ciam-node-sdk

    ciam-node-sdk 提供以下登录鉴权方法:

    方法名称 描述 备注
    generateLoginUrl 生成认证登录URL -
    fetchToken 通过code获取token -
    getUser 获取用户信息 -
    logout 退出登录 -

    SDK接口说明

    1. 初始化

    • 代码示例
    const { NodeClient } = require('ciam-node-sdk'); // node-sdk
    const ciam = new NodeClient({
      clientId: ‘your-clientid', // 此处为CIAM的应用ID,CIAM应用中获取
      userDomain: 'your-userDomain', // 此处为租户域名,CIAM域名管理中获取
      redirectUri:'your-redirectUri', // 此处为回调地址,CIAM应用管理中获取
      logoutRedirectUrl: 'your-logoutRedirectUrl', // 此处为退出回调地址,CIAM应用管理中获取
      scopes: ['openid'],
      protocol: 'OIDC_PKCE',
    });
    
    • 参数说明
    参数名 类型 是否必填 长度限制 描述
    clientId string - 管理端添加的小程序应用ID
    userDomain string - 租户域名(自定义域名获取)
    redirectUri string - 登录成功后跳转的URL
    logoutRedirectUrl string - 登录退出后跳转的URL
    scopes array[Agreement] - 遵循oauth2.0规范,默认为openid
    protocol string - OIDC_PKCE(默认)、OIDC_DEFAULT

    2. 生成认证登录URL

    用于生成登录URL,实现快速跳转到CIAM登录页面。

    • 代码示例
    // 登录CIAM
    app.get('/login', async (req, res) => {
      const url = await ciam.generateAuthUrl();
      res.redirect(url);
    })
    

    3. 获取token和用户信息

    该方法用于当CIAM登录成功时,根据页面返回的code调用fetchToken,获取到的token用于获取用户信息。

    • 代码示例
    // 处理redirect回调
    app.get('/callback', async (req, res) => {
      const { code } = req.query;
      const result = await ciam.fetchToken(code);
      const { access_token, id_token } = result;
      const userInfo = await ciam.getUser();
      req.session.user = { ...userInfo, userInfo };
      res.redirect('/');
    })
    
    • fetchToken参数说明
    参数名 类型 是否必填 长度限制 描述
    code string 与CIAM认证返回的code相同 该参数由CIAM托管并返回

    4. 退出登录

    该方法用于退出CIAM登录。

    • 代码示例
    // 退出CIAM登录
    app.get('/logout', async (req, res) => {
      if (!req.session.user) {
        res.redirect('/');
      }
      const url = await ciam.logout();
      req.session.destroy();
      res.redirect(url);
    })
    

    sample下载

    TODO

    Keywords

    none

    Install

    npm i ciam-node-sdk

    DownloadsWeekly Downloads

    8

    Version

    1.0.0

    License

    none

    Unpacked Size

    465 kB

    Total Files

    36

    Last publish

    Collaborators

    • shingao