Realización de autenticación de proxy
Descripción
Esta API se utiliza para autenticar una cuenta proxy de terceros. Después de que la autenticación es exitosa, se genera un token de acceso. Actualmente, se admiten las siguientes cuentas proxy de terceros:
- Cuentas y contraseñas de WeLink
- Cuentas de terceros que cumplen con OAuth 2.0
SLA
Tasa de éxito de solicitudes: > 99.99%
Retraso de solicitud TP99: 40 ms
- Cuando clientType se establece en 72 se pueden crear hasta 64 tokens para cada cuenta. Si se han creado 64 tokens usando una cuenta y los tokens son válidos, crear un nuevo token usando la misma cuenta invalidará el primer token entre los primeros 64 tokens.
- Cuando clientType no se establece en 72 solo se puede crear un token para cada cuenta.
- 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 |
/v1/usg/acs/auth/proxy |
Protocolo de transporte |
HTTPS |
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Localización |
Descripción |
---|---|---|---|---|
Content-Type |
Sí |
String |
Header |
Formato de medios del cuerpo, por ejemplo, application/json; charset=UTF-8. |
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 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. |
account |
No |
String |
Body |
Cuenta de autenticación. maxLength: 255 minLength: 0 |
authServerType |
Sí |
String |
Body |
Tipo de servicio de autenticación.
|
authType |
Sí |
String |
Body |
Modo de autenticación.
|
clientType |
Sí |
Integer |
Body |
Tipo de cuenta utilizada para iniciar sesión.
|
createTokenType |
No |
Integer |
Body |
Si se genera un token.
|
credential |
No |
String |
Body |
Si se utiliza OAuth 2.0, establezca este parámetro en el código temporal obtenido del centro de autenticación. |
domain |
No |
String |
Body |
Nombre de dominio de empresa. Este parámetro es obligatorio para la autenticación de OAuth 2.0. |
pwd |
No |
String |
Body |
Contraseña de autenticación. Este parámetro es obligatorio para la autenticación de proxy de WeLink. maxLength: 255 minLength: 0 |
remark |
No |
String |
Body |
Observaciones. |
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 crea 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 crea un token de actualización, en milisegundos. |
refreshExpireTime |
Long |
Marca de tiempo cuando el token de actualización expira, en segundos. |
refreshToken |
String |
Actualice el token. |
refreshValidPeriod |
Long |
Período de validez del token de actualización, en segundos. |
tokenIp |
String |
Dirección IP del usuario. |
tokenType |
Integer |
Tipo de token.
|
user |
UserInfo object |
Detalles de autenticación de usuario. |
validPeriod |
Long |
Período de validez del token, en segundos. |
Solicitud de ejemplo
POST /v1/usg/acs/auth/proxy Connection: keep-alive Content-Type: application/json X-Request-ID: 5162fa32dc7e47afafeee39a72a2eec3 Accept-Language: zh-CN Host: api.meeting.huaweicloud.com User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_191) { "clientType": "72", "authServerType": "workplace", "authType": "AccountAndPwd", "pwd": "1qaz@WSX", "createTokenType": 0, "account": "zhangsan@cloudlinkwp" }
Ejemplo de respuesta
HTTP/1.1 200 Date: Wed, 18 Dec 2019 06:20:40 GMT Content-Type: application/json;charset=UTF-8 Content-Length: 745 Connection: keep-alive Pragma: No-cache Cache-Control: no-cache Expires: Thu, 01 Jan 1970 00:00:00 GMT X-XSS-Protection: 1; mode=block X-Download-Options: noopen X-Content-Type-Options: nosniff strict-transport-security: max-age=16070400; includeSubDomains X-Frame-Options: SAMEORIGIN Content-Security-Policy: default-src 'self' 'unsafe-inline' 'unsafe-eval' blob: data: http: https: ; child-src * ; connect-src * x-request-id: 5162fa32dc7e47afafeee39a72a2eec3 Server: CloudPortal { "accessToken": "stbNxmD2UXEDkHQD73sqMhXB6eXw6ngvSbo9", "clientType": 0, "createTime": 1599102826754, "daysPwdAvailable": -18172, "delayDelete": false, "expireTime": 1577979513, "firstLogin": true, "forceLoginInd": null, "proxyToken": null, "pwdExpired": false, "refreshCreateTime": 1599102826754, "refreshExpireTime": 1601694826, "refreshToken": "stbYaza5VVRr3IGuLSs6ZvF0lMHHvGO0tQ0f", "refreshValidPeriod": 2592000, "tokenIp": "10.8.0.90", "tokenType": 0, "user": { "adminType": 2, "alias1": null, "appId": null, "cloudUserId": "76aaaba8a12f4c0a8a43192...", "companyDomain": null, "companyId": "f5968fc4f9c14d50905e8e66672dabc6", "corpType": 0, "freeUser": false, "grayUser": false, "headPictureUrl": null, "isBindPhone": null, "name": "xxxx_name", "nameEn": null, "numberHA1": "1ead5e5ce44849bc2718d5c....", "paidAccount": null, "paidPassword": null, "password": null, "realm": "huaweicloud.com", "serviceAccount": "sip:xxxx@huaweicloud.com", "spId": "666bd8558e4646e1a7e1a0c99cf898e8", "status": 0, "thirdAccount": "62fe180o133fd...", "tr069Account": "X3M537A6IX4SC...", "ucloginAccount": "z8b2vo875ioh54r29ad5e3552vb3gm8np2j167...", "userId": "0d5202707123429d876....", "userType": 2, "visionAccount": null, "weLinkUser": false }, "validPeriod": 84616 }
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 'X-Request-ID: 5162fa32dc7e47afafeee39a72a2eec3,Content-Type: application/json,Accept-Language: zh-CN' -H 'date: 20190329T074551Z' -d '{"clientType":0,"authServerType":"workplace","authType":"AccountAndPwd","pwd":"1qaz@WSX","createTokenType":0,"account":"zhangsan@cloudlinkwp"}' 'https://api.meeting.huaweicloud.com/v1/usg/acs/auth/proxy'