Authing 文档
文档
快速开始
概念
使用指南
开发集成
应用集成
加入 APN
多租户(内测版)
旧版
快速开始
概念
使用指南
开发集成
应用集成
加入 APN
多租户(内测版)
旧版
使用指南
  • 快速开始

  • 对用户进行认证
  • 对用户进行权限管理
  • 授权
  • 管理用户账号
  • 管理用户目录
  • 同步中心(BETA)
  • 自建应用
  • ASA 表单代填
  • 单点登录 SSO
  • 成为联邦认证身份源
  • 连接外部身份源(IdP)
  • 打通微信生态
  • 迁移用户到 Authing
  • 管理组织机构
  • 自动化
  • 审计日志
  • 配置安全信息

  • 配置用户池信息

  • 部署方案
  • 常见问题 FAQs

    • 如何获取用户池 ID
    • 如何获取应用 ID
    • 如何验证用户身份凭证(token)
    • 如何识别用户来源
    • 在本地联表 Authing 用户与你的业务数据
    • 禁用第三方 Cookie 对 Authing 的影响
    • 如何部署中转代理服务器
    • 如何获取 Authing 服务器集群 IP

    ¶ 如何识别用户来源

    更新时间: 2022-03-22 15:24:16

    如果你使用托管登录页或者嵌入登录组件, 支持自动识别请求参数将用户来源写入到用户的自定义字段;同时 提供的 SDK 也可以在登录注册时将注册来源信息写入到用户的自定义字段,从而达到识别用户来源的目的。

    ¶ 使用托管登录页面

    Authing 托管登录页模式被认为是最简单,最安全的集成方式。这是因为登录流程由 Authing 维护,并由 Authing 保持安全。对于大多数集成,建议使用 Authing 托管的登录流程。你的业务系统将用户重定向到 Authing,在此用户进行身份验证,然后重定向回在控制台配置的应用回调连接。

    在托管登录页面中识别用户来源,可以分为以下几步。

    1. 在 Authing 控制台定义一个用户自定义字段(如 source),用于存储用户的来源数据,详情请见添加自定义用户字段;
    2. 访问应用域名的时候带上指定的 query 参数,如 https://your-app.authing.cn?source=someWhere;
    3. 当用户登录注册的时候, 将会将此数据写入到用户的自定义字段中;
    4. 之后你可以使用 Authing 提供的 SDK 管理用户的自定义字段,详情请见 SDK - 管理自定义数据。

    ¶ 使用嵌入登录组件

    Authing 登录组件(Guard)是一种可嵌入的登录表单,可根据你的需求进行配置,建议用于单页面应用程序。Guard 可以集成到你的 React、Vue.js、Angular 以及原生 JavaScript 项目中,你可以借助此组件快速实现登录认证流程。

    在嵌入登录组件中识别用户来源,可以分为以下几步。

    1. 在 Authing 控制台定义一个用户自定义字段(如 source),用于存储用户的来源数据,详情请见添加自定义用户字段;
    2. 在 Guard 组件所在页面的 URL 上添加同样的 Query 参数,如 ?source=someWhere。当用户使用 Guard 组件注册时,将会将这个参数写入到用户的自定义字段中;
    3. 之后你可以使用 Authing 提供的 SDK 管理用户的自定义字段,详情请见 SDK - 管理自定义数据。

    ¶ 使用 SDK

    1. 在 Authing 控制台定义一个用户自定义字段(如 source),用于存储用户的来源数据,详情请见添加自定义用户字段;
    2. 在调用登录函数的时候传递自定义数据,如:
    • 使用邮箱密码注册:
    const { AuthenticationClient } = require('authing-js-sdk')
    
    const authing = new AuthenticationClient({
      appId: 'YOUR_APP_ID',
      appHost: 'YOUR_APP_HOST',
    });
    const email = 'test@example.com'
    const password = 'passw0rd'
    const user = await authing.registerByEmail(email, password, null, {
      customData: {
        source: 'google'
      }
    });
    
    • 使用社会化登录:
    const { AuthenticationClient } = require('authing-js-sdk')
    
    const authing = new AuthenticationClient({
      appId: 'YOUR_APP_ID',
      appHost: 'YOUR_APP_HOST',
    });
    authing.social.authorize('google', {
      onSuccess: (userinfo) => {
        console.log(userinfo)
      },
      customData: {
        source: 'someWhere'
      }
    })
    
    • 使用小程序扫码登录:
    const { AuthenticationClient } = require('authing-js-sdk')
    
    const authing = new AuthenticationClient({
      appId: 'YOUR_APP_ID',
      appHost: 'YOUR_APP_HOST',
    });
    authing.wxqrcode.startScanning('domId', {
      onSuccess: (userinfo) => {
        console.log(userinfo)
      },
      customData: {
        source: 'someWhere'
      }
    })
    
    1. 用户完成登录注册之后, 将会将此数据写入到用户的自定义字段中;
    2. 之后你可以使用 Authing 提供的 SDK 管理用户的自定义字段,详情请见 SDK - 管理自定义数据。

    上一篇: 如何验证用户身份凭证(token) 下一篇: 在本地联表 Authing 用户与你的业务数据

    本文是否有解决您的问题?

    如果遇到其他问题,你可以在 authing-chat/community 联系我们。

    • 使用托管登录页面
    • 使用嵌入登录组件
    • 使用 SDK

    用户身份管理

    集成第三方登录
    手机号闪验 (opens new window)
    通用登录表单组件
    自定义认证流程

    企业内部管理

    单点登录
    多因素认证
    权限管理

    开发者

    开发文档
    框架集成
    博客 (opens new window)
    GitHub (opens new window)
    社区用户中心 (opens new window)

    公司

    服务状态
    15559944612
    sales@authing.cn
    北京市朝阳区北辰世纪中心 B 座 16 层(总)
    成都市高新区天府五街 200 号 1 号楼 B 区 4 楼 406 室(分)

    京ICP备19051205号

    beian京公网安备 11010802035968号

    © 北京蒸汽记忆科技有限公司