Skip to content

context 对象

context 对象中保存了当前认证流程的上下文,包括认证手段、身份提供方,以及请求 IP, 地址等。

属性

属性名类型说明
protocolstring认证协议。具体说明见下文。
connectionstring身份提供方。具体说明见下文。
userPoolIdstring用户池 ID
userPoolNamestring用户池 名称
userPoolMetadataobject用户池配置
appIdstring当前用户的 ID
appNamestring当前应用的 名称
appMetadataobject当前应用的配置信息
requestobject当前请求的详细信息,包括:
ip: 客户端 IP
geo: 通过 IP 解析的客户端地理位置
body: 请求体
query: query string 对象,你可以通过 request.query.xxx 获取对应 query 参数
accessTokenTargetEnum: programmaticAccount, user仅在签发 accessToken 前的 pipeline 中有值,表示当前是为编程访问账号还是用户签发 accessToken

protocol

认证协议。

可能值说明
password基于账号密码的认证方式
sms基于短信验证码的认证方式
social社会化登录认证默认,当使用 GenAuth 集成的社会化登录手段登录时为此值。
ldap使用 LDAP 进行认证。有关如何接入 LDAP 请见 配置 LDAP 服务
saml使用 SAML 进行认证。有关如何接入 SAML 请见 接入 SAML
oidc使用 OIDC 协议认证。有关如何接入 OIDC 请见使用 OIDC 授权

connection

身份提供方。

可能值 说明 ldap 使用 lDAP 协议进行登录。 一个 GenAuth LDAP 服务对应一个 GenAuth 用户目录或第三方用户目录,详情请见 配置 LDAP 服务 和 使用 GenAuth 的 LDAP 用户目录。 saml 使用 SAML 协议进行登录。有关如何接入 SAML 请见 接入 SAML。 oidc 使用 OIDC 协议认证。有关如何接入 OIDC 请见 使用 OIDC 授权。 github 使用 GitHub 登录。详情见 接入 GitHub 登录。 wechat PC 微信扫码登录。详情见 接入 PC 微信扫码登录。 wechat:miniprogram 使用微信小程序登录。详情见 接入微信小程序登录。 wechatwork 使用企业微信登录。 qq 使用 QQ 网页版登录。详情见 接入 QQ 登录。 weibo 使用微博网页版登录。详情见 接入微博登录。 dingtalk 使用钉钉网页版登录。详情见 接入钉钉登录。 alipay 使用支付宝 APP 登录。详情见 接入移动 APP 支付宝登录 。

data 对象

注册前、注册后

注册前、注册后 Pipeline 中 data 对象部分请求字段如下:详情请见 GenAuth GraphQL 调试器 用户鉴权 - 注册接口。

WARNING

email, phone, unionid 等字段不一定同时存在,使用前请先判断其是否存在!如

js
const email = context.request.body.email;
if (email) {
  // 表示是用邮箱注册
  // 可以进行邮箱注册白名单的逻辑

  if (!email.endsWith("example.com")) {
    return callback(new Error("Access Denied!"));
  }
}
字段名类型是否一定存在说明
usernamestring用户名,使用用户名注册的时候不为空。
emailstring邮箱,使用用户名注册的时候不为空。
phonestring手机号,使用手机号注册的时候不为空。
forceLoginboolean注册时候是否自动进行登录流程,默认为 false
profileobject用户注册所填的数据用户信息

认证前、认证后

认证前、认证后 Pipeline 中 data 对象部分请求字段如下:

WARNING

这些字段不一定全部存在,使用前请先判断是否存在!

字段名类型是否一定存在说明
usernamestring用户名,使用用户名登录的时候不为空。
emailstring邮箱,使用邮箱登录的时候不为空。
phonestring手机号,使用手机号登录的时候不为空。

userPool 对象

用户池相关信息。

字段名类型说明
idstring用户池 ID
namestring用户池名称

geo 属性

示例数据:

json
{
  "province": "北京市",
  "city": "北京市",
  "adcode": "110000",
  "rectangle": "116.0119343,39.66127144;116.7829835,40.2164962"
}

面向 Agent 的身份、记忆与网页行动基础设施。