# context object
The context of the current authentication process is saved in the'context object, including authentication means, identity provider, and request IP, address, etc. '
# Attributes
| Attribute | Data Type | Description |
|---|---|---|
| protocol | string | Authentication protocol. See below for specific instructions. |
| connection | string | Identity provider. See below for specific instructions. |
| userPoolId | string | User Pool ID |
| userPoolName | string | User pool name |
| userPoolMetadata | object | User pool configuration |
| request | object | The detailed information of the current request, including: ip: client IP geo: client geographic location resolved by IP body: request body, query: query string object, you can get the corresponding query parameter through request.query.xxx |
# protocol
Authentication agreement.
| Possible values | Description |
|---|---|
| password | Authentication method based on account password |
| sms | Authentication method based on SMS verification code |
| social | The default social login authentication, this value when using Authing integrated social login means login. |
| ldap | Use LDAP for authentication. For how to access LDAP, please refer to Configure LDAP Service. |
| saml | Use SAML for authentication. For how to access SAML, please see Access SAML. |
| oidc | Use OIDC protocol authentication. For how to access OIDC, please see Using OIDC Authorization. |
# connection
Identity provider.
| Possible values | Description |
|---|---|
| ldap | Use lDAP protocol to log in. An Authing LDAP service corresponds to an Authing user directory or a third-party user directory, please see Configure LDAP service and use Authenticating LDAP user directory . |
| saml | Log in using the SAML protocol. For how to access SAML, please see Access SAML. |
| oidc | Use OIDC protocol for authentication. For how to access OIDC, please see Using OIDC Authorization. |
| github | Log in with GitHub. See details Access GitHub login. |
| | WeChat PC scan code login. See details Access the Wechat PC and scan the code to log in. |
| wechat:miniprogram | Log in using the WeChat applet. See details Access the WeChat Mini Program to log in. |
| wechatwork | Log in using corporate WeChat. |
| Log in using the QQ web version. See details Access QQ login. | |
| Log in using Weibo web version. See details Access Weibo to log in. | |
| dingtalk | Log in using DingTalk web version. See details Access DingTalk to log in. |
| alipay | Use Alipay APP to log in. See details Access mobile APP Alipay login . |
# data object
# Before and after registration
Before and after registration, the requested fields of the data object in the Pipeline are as follows: For details, please see Authing GraphQL Debugger (opens new window) User Authentication-Registration interface.
Email, phone, unionid and other fields may not exist at the same time, please check whether they exist before using! Such as
const email = context.request.body.email;
if (email) {
// Means to register with email
// The logic of mailbox registration whitelist can be carried out
if (!email.endsWith("example.com")) {
return callback(new Error("Access Denied!"));
}
}
| Field name | Type | Must exist | Description |
|---|---|---|---|
| username | string | No | Username, which is not empty when registering with username. |
| string | No | Email, it is not empty when registering with the user name. | |
| phone | string | No | Mobile phone number, it is not empty when registering with mobile phone number. |
| forceLogin | boolean | No | Whether to automatically log in when registering, the default is false |
| profile | object | yes | data user information filled in user registration |
# Before and after certification
The requested fields of the data object in the pipeline before and after authentication are as follows:
These fields may not all exist, please judge whether they exist before using!
| Field name | Type | Must exist | Description |
|---|---|---|---|
| username | string | No | Username, which is not empty when logging in with the username. |
| string | No | Email, it is not empty when logging in with email. | |
| phone | string | No | Mobile phone number, it is not empty when logging in with the phone number. |
# userPool object
| Field name | Type | Description |
|---|---|---|
| id | string | User pool ID |
| name | string | User pool name |
# geo attributes
Sample data:
{
"province": "Beijing",
"city": "Beijing",
"adcode": "110000",
"rectangle": "116.0119343,39.66127144;116.7829835,40.2164962"
}