Realização de autenticação de proxy
Descrição
Esta API é usada para autenticar uma conta de proxy de terceiros. Depois que a autenticação é bem-sucedida, um token de acesso é gerado. Atualmente, as seguintes contas de proxy de terceiros são suportadas:
- Contas e senhas de WeLink
- Contas de terceiros em conformidade com OAuth 2.0
SLA
Taxa de sucesso de solicitação: > 99,99%
Atraso na solicitação TP99: 40 ms
- Quando clientType é definido como 72, até 64 tokens podem ser criados para cada conta. Se 64 tokens foram criados usando uma conta e os tokens são válidos, criar um novo token usando a mesma conta invalidará o primeiro token entre os primeiros 64 tokens.
- Quando clientType não é definido como 72, apenas um token pode ser criado para cada conta.
- Um token é válido por 12 a 24 horas.
Depuração
Você pode depurar essa API no API Explorer.
Protótipo
|
Método de solicitação |
POST |
|---|---|
|
Endereço de solicitação |
/v1/usg/acs/auth/proxy |
|
Protocolo de transporte |
HTTPS |
Parâmetros de solicitação
|
Parâmetro |
Obrigatório |
Tipo |
Localização |
Descrição |
|---|---|---|---|---|
|
Content-Type |
Sim |
String |
Cabeçalho |
Formato de mídia do corpo, por exemplo, application/json; charset=UTF-8. |
|
X-Request-ID |
Não |
String |
Cabeçalho |
ID da solicitação, que é usado para rastreamento e localização de falhas. É aconselhável usar um UUID. Se este parâmetro não for transportado, um ID de solicitação é gerado automaticamente. |
|
Accept-Language |
Não |
String |
Cabeçalho |
Idioma. Valores: zh-CN para chinês (padrão) e en-US para inglês. |
|
account |
Não |
String |
Corpo |
Conta de autenticação. maxLength: 255 minLength: 0 |
|
authServerType |
Sim |
String |
Corpo |
Tipo de serviço de autenticação.
|
|
authType |
Sim |
String |
Corpo |
Modo de autenticação.
|
|
clientType |
Sim |
Integer |
Corpo |
Tipo da conta usada para fazer logon.
|
|
createTokenType |
Não |
Integer |
Corpo |
Se gerar um token.
|
|
credential |
Não |
String |
Corpo |
Se o OAuth 2.0 for usado, defina esse parâmetro como o código temporário obtido do centro de autenticação. |
|
domain |
Não |
String |
Corpo |
Nome de domínio empresarial. Esse parâmetro é obrigatório para a autenticação do OAuth 2.0. |
|
pwd |
Não |
String |
Corpo |
Senha de autenticação. Este parâmetro é obrigatório para a autenticação de proxy de WeLink. maxLength: 255 minLength: 0 |
|
remark |
Não |
String |
Corpo |
Observações. |
Códigos de status
|
Código de status HTTP |
Descrição |
|---|---|
|
200 |
Operação bem-sucedida. |
|
400 |
Parâmetros inválidos. |
|
401 |
Acesso negado. |
|
403 |
Permissões insuficientes. |
|
412 |
A conta foi desativada. |
|
423 |
A conta foi bloqueada. |
|
500 |
Exceção do servidor. |
Parâmetros de resposta
|
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
accessToken |
String |
Token de acesso. |
|
clientType |
Integer |
Tipo da conta usada para fazer logon.
|
|
createTime |
Long |
Carimbo de data/hora quando o token é criado, em milissegundos. |
|
daysPwdAvailable |
Integer |
Período de validade de senha. |
|
delayDelete |
Boolean |
Se a exclusão do token está atrasada. |
|
expireTime |
Long |
Carimbo de data/hora quando o token expira, em segundos. |
|
firstLogin |
Boolean |
Se o logon é o primeiro logon.
NOTA:
Se você fizer logon no sistema pela primeira vez, o sistema solicitará que você altere a senha inicial. Valor padrão: false. |
|
forceLoginInd |
Integer |
Se o logon preventivo está ativado.
|
|
proxyToken |
ProxyTokenDTO object |
Informações de autenticação do proxy. |
|
pwdExpired |
Boolean |
Se a senha expirou. Valor padrão: false. |
|
refreshCreateTime |
Long |
Carimbo de data/hora quando um token de atualização é criado, em milissegundos. |
|
refreshExpireTime |
Long |
Carimbo de data/hora quando o token de atualização expira, em segundos. |
|
refreshToken |
String |
Token de atualização. |
|
refreshValidPeriod |
Long |
Período de validade do token de atualização, em segundos. |
|
tokenIp |
String |
Endereço IP do usuário. |
|
tokenType |
Integer |
Tipo de token.
|
|
user |
UserInfo object |
Detalhes de autenticação do usuário. |
|
validPeriod |
Long |
Período de validade do token, em segundos. |
Exemplo de solicitação
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"
}
Exemplo de resposta
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 erro
Se um código de erro começando com MMC ou USG for retornado quando você usar essa API, corrija a falha seguindo as instruções fornecidas no Centro de erros da API da Huawei Cloud.
Exemplo 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'