Autenticación de un ID de aplicación
Descripción
Esta API se utiliza para autenticar un ID de aplicación. Después de que la autenticación es exitosa, se genera un token de acceso. Para obtener más información sobre la autenticación de ID de aplicación, consulte Introducción a la autenticación de ID de aplicación.
- Cuando clientType se establece en 72, se pueden crear hasta 64 tokens para cada ID de usuario. Si se han creado 64 tokens usando un ID de usuario y los tokens son válidos, la creación de un nuevo token usando el mismo ID de usuario invalidará el primer token entre los primeros 64 tokens.
- Cuando clientType no se establece en 72, solo se puede crear un token para cada ID de usuario.
- Un token es válido durante 12 a 24 horas.
Depuración
Puede depurar esta API en Explorador de API.
Prototipo
Método de solicitud |
POST |
---|---|
Dirección de solicitud |
/v2/usg/acs/auth/appauth |
Protocolo de transporte |
HTTPS |
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Localización |
Descripción |
---|---|---|---|---|
Authorization |
Sí |
String |
Header |
Información de autenticación de aplicaciones.
Si se lleva userId, el organismo de solicitud debe llevar el mismo userId. |
Content-Type |
Sí |
String |
Header |
Formato de los medios de comunicación del cuerpo.
|
X-Request-ID |
No |
String |
Header |
ID de solicitud, que se utiliza para el seguimiento y la localización de fallos. Se recomienda utilizar un identificador único universal (UUID). Si este parámetro no se incluye, se genera automáticamente un ID de solicitud. |
Accept-Language |
No |
String |
Header |
Idioma. Valores zh-CN para el chino (predeterminado) y en-US para el inglés. |
appId |
Sí |
String |
Body |
ID de la aplicación. Para obtener más información sobre cómo obtener un ID de aplicación, consulte Solicitar un ID de aplicación. |
clientType |
Sí |
Integer |
Body |
Tipo de cuenta utilizada para iniciar sesión.
|
corpId |
No |
String |
Body |
ID de empresa. (Cuando este parámetro se incluye en los escenarios de aplicación del SP, si los parámetros corpId y userId no se incluyen o son nulos, el sistema considera que el administrador del SP inicia sesión en el sistema de forma predeterminada.) |
expireTime |
Sí |
Long |
Body |
Marca de tiempo cuando la información de autenticación de la aplicación expira, en segundos. (Si la marca de tiempo de UNIX del servidor es mayor que expireTime cuando se recibe la solicitud de autenticación de la aplicación, la autenticación falla.) Ejemplo: Para hacer que la información de autenticación de aplicaciones expire en 10 minutos, establezca expireTime en la suma de la marca de tiempo de UNIX actual más 60 x 10. Para que la información de autenticación de la aplicación sea siempre válida, establezca expireTime en 0. |
nonce |
Sí |
String |
Body |
Cadena de caracteres aleatorios, que se utiliza para calcular la información de autenticación de aplicaciones. maxLength: 64 minLength: 32 |
userEmail |
No |
String |
Body |
Dirección de correo electrónico.
NOTA:
Este parámetro es válido solo cuando se lleva durante la primera autenticación de inicio de sesión. |
userId |
No |
String |
Body |
ID de usuario. (Si el campo userId no se incluye o se establece en una cadena de caracteres vacía, el usuario inicia sesión como administrador de empresa predeterminado.) |
userName |
No |
String |
Body |
Nombre del usuario.
NOTA:
Este parámetro es válido solo cuando se lleva durante la primera autenticación de inicio de sesión. |
userPhone |
No |
String |
Body |
Número móvil.
NOTA:
Este parámetro es válido solo cuando se lleva durante la primera autenticación de inicio de sesión. |
deptCode |
No |
String |
Body |
Código de departamento. Obtén el valor llamando a la API para consultar un departamento y sus subdepartamentos de nivel 1. |
Códigos de estado
Código de estado de HTTP |
Descripción |
---|---|
200 |
Operación exitosa. |
400 |
Parámetros no válidos |
401 |
Acceso denegado. |
403 |
Permisos insuficientes. |
412 |
La cuenta se deshabilitó. |
423 |
La cuenta se ha bloqueado. |
500 |
Excepción del servidor. |
Parámetros de respuesta
Parámetro |
Tipo |
Descripción |
---|---|---|
accessToken |
String |
Token de acceso. |
clientType |
Integer |
Tipo de cuenta utilizada para iniciar sesión.
|
createTime |
Long |
Marca de tiempo cuando se creó el token, en milisegundos. |
daysPwdAvailable |
Integer |
Período de validez de la contraseña. |
delayDelete |
Boolean |
Si se retrasa la eliminación del token. |
expireTime |
Long |
Marca de tiempo cuando el token caduca, en segundos. |
firstLogin |
Boolean |
Si el inicio de sesión es el primer inicio de sesión.
NOTA:
Si inicia sesión en el sistema por primera vez, el sistema le pedirá que cambie la contraseña inicial. Valor predeterminado: false. |
forceLoginInd |
Integer |
Si el inicio de sesión apropiativo está habilitado.
|
proxyToken |
ProxyTokenDTO object |
Información de autenticación de proxy. |
pwdExpired |
Boolean |
Si la contraseña ha caducado. Valor predeterminado: false. |
refreshCreateTime |
Long |
Marca de tiempo cuando se actualizó el token, en milisegundos. |
refreshExpireTime |
Long |
Marca de tiempo cuando el token actualizado expira, en segundos. |
refreshToken |
String |
Token actualizado. |
refreshValidPeriod |
Long |
Período de validez del token actualizado, en segundos. |
tokenIp |
String |
Dirección IP del usuario de inicio de sesión. |
tokenType |
Integer |
Tipo de token.
|
user |
UserInfo object |
Detalles de autenticación de usuario. |
validPeriod |
Long |
Período de validez de un token, en segundos. |
Solicitud de ejemplo
POST /v2/usg/acs/auth/appauth Connection: keep-alive Content-Type: application/json X-Request-ID: 5162fa32dc7e47afafeee39a72a2eec3 Accept-Language: zh-CN Host: api.meeting.huaweicloud.com Authorization: HMAC-SHA256 signature=3eca3f0f1e90ed55de38388066d02f1b7a86571a8ce30823af1df7c4edd7e086 User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_191) { "appId": "fdb8e4699586458bbd10c834872dcc62", "clientType": 72, "expireTime": 1627722929, "nonce": "EycLQsHwxhzK9OW8UEKWNfH2I3CGR2nINuU1EBpQ1627722929", "userEmail": "testuser@mycorp.com", "userId": "testuser@mycorp.com", "userName": "testuser", "userPhone": "173****9092" }
Ejemplo de respuesta
HTTP/1.1 200 "X-Envoy-Upstream-Service-Time": "230", "Server": "api-gateway", "X-Request-Id": "085d1f96cd9ddd6f3c50d70a0b2eb239", "X-Content-Type-Options": "nosniff", "Connection": "keep-alive", "X-Download-Options": "noopen", "Pragma": "No-cache", "Date": "Sat, 31 Jul 2021 06:18:07 GMT", "X-Frame-Options": "SAMEORIGIN", "Strict-Transport-Security": "max-age=31536000; includeSubDomains", "Cache-Control": "no-cache", "X-Xss-Protection": "1; mode=block", "Content-Security-Policy": "connect-src 'self' *.huaweicloud.com ;style-src 'self' 'unsafe-inline' 'unsafe-eval';object-src 'self'; font-src 'self' data:;", "Expires": "Thu, 01 Jan 1970 00:00:00 GMT", "Content-Length": "1250", "Content-Type": "application/json" { "accessToken":"cnr1316vcp2ceIkbfko3z13Y2J8UdioOw0ER4kTK", "tokenIp":"49.4.112.60", "validPeriod":56326, "expireTime":1627768613, "createTime":1627712287360, "utcTime":1627712287373, "user":{ "realm":"huaweicloud.com", "userId":"53e2759d388e413abf6a56743a2694c5", "ucloginAccount":"Auto-53e2759d388e413abf6a56743a2694c5", "serviceAccount":"sip:+99111283523475338@huaweicloud.com", "sn":"", "numberHA1":"065eb94e5b090f70c77d4d1439f35b8e", "alias1":null, "companyId":"651543334", "spId":"8a8df0a174a1c6680174a26f578b0000", "companyDomain":null, "userType":2, "adminType":2, "name":"testuser@mycorp.com", "nameEn":"", "isBindPhone":null, "freeUser":false, "thirdAccount":"testuser@mycorp.com", "visionAccount":null, "headPictureUrl":null, "password":null, "status":0, "paidAccount":null, "paidPassword":null, "weLinkUser":false, "appId":"fdb8e4699586458bbd10c834872dcc62", "tr069Account":null, "corpType":5, "cloudUserId":"", "grayUser":true, "phoneOrEmailLogin":false, "weChatName":null }, "clientType":72, "forceLoginInd":null, "firstLogin":false, "pwdExpired":false, "daysPwdAvailable":-19678, "proxyToken":null, "tokenType":0, "refreshToken":"cnr13168neNyRDfomYEIci7zVjBBybZQG90fYdX2", "refreshValidPeriod":2592000, "refreshExpireTime":1630304287, "refreshCreateTime":1627712287360, "bindInfo":null }
Códigos de error
Si se devuelve un código de error que comienza con MMC o USG cuando utiliza esta API, corrija el error siguiendo las instrucciones proporcionadas en el Centro de errores de la API de Huawei Cloud.
Ejemplo de comando cURL
curl -k -i -H 'content-type: application/json' -X POST -H 'Content-Type: application/json,Accept-Language: zh-CN,Authorization: HMAC-SHA256 signature=198c3046dbdafa9d89ce917c5613c29fda855da2aa79f8f51f2871e88fdba91c' -d '{"appId": "d5e1785afbe44c2588b642446652489e","clientType": 72,"corpId": "807074304","expireTime": 1597824907000,"nonce": "EycLQsHwxhzK9OW8UEKWNfH2I3CGR2nINuU1EBpQ","userEmail": "alice@huawei.com","userId": "alice@ent01","userName": "alice","userPhone": "173****9092"}' 'https://api.meeting.huaweicloud.com/v2/usg/acs/auth/appauth'