tencent cloud

账号风控平台

产品简介
产品概述
产品优势
应用场景
购买指南
操作指南
用户管理目录
用户管理
应用管理
认证管理
审计管理
个性化设置
开发对接指南
概述
使用认证 API 接入
获取用户信息
更新用户信息
修改用户密码
重置用户密码
获取 Token
获取 JWT 公钥
刷新 Token
注销 Token
获取 OpenID Provider 配置信息
API 文档
History
Introduction
API Category
Making API Requests
User Management APIs
Data Sync APIs
Audit Management APIs
Data Types
Error Codes
常见问题
功能相关
计费相关
CIAM 政策
隐私协议
数据处理和安全协议

账号密码认证

PDF
聚焦模式
字号
最后更新时间: 2023-12-22 11:42:08

接口描述

校验用户的用户名和密码,获取 Access Token 和 ID Token,完成登录。此接口对应 OAuth 2.0 协议的 Resource Owner Password Credentials 模式。
说明:
由于用户密码将在用户终端与应用之间传递,请务必使用高度可信的应用调用此接口,并妥善处理密码的传输(例如确保使用了 HTTPS 协议)。在条件允许的情况下,建议优先使用 认证门户登录

支持的应用类型

Web 应用、单页应用、移动 App。

请求方法

POST

请求路径

/oauth2/token

请求 Content-Type

application/x-www-form-urlencoded

请求示例

POST /oauth2/token HTTP/1.1
Host: sample.portal.tencentciam.com
Content-Type: application/x-www-form-urlencoded
grant_type=password&client_id=TENANT_CLIENT_ID&client_secret=TENANT_CLIENT_SECRET&auth_source_id=MOCK_USERNAME_PASSWORD_AUTH_SOURCE_ID&username=MOCK_USERNAME&password=MOCK_PASSWORD&scope=openid

请求参数

参数
可选
描述
grant_type
false
填固定值 password
client_id
false
应用的 client_id。可参考 应用管理页面 > 选定指定应用 > 单击应用配置 > 对应的“Client Id”。
client_secret
true
应用的 client_secret。可参考 应用管理页面 > 选定指定应用 > 单击应用配置 > 对应的“client_secret”。
Web 应用须传递此参数。
单页应用和移动 App 不传递此参数。
auth_source_id
false
账号密码认证源 ID。可在控制台的 通用认证源页面 查看。
username
false
用户名。需要使用账号密码认证源配置的认证源属性,如用户名称、电话号码、邮箱地址。
password
false
用户密码。
scope
true
可省略。如传递,则填固定值 openid

正常响应示例

认证成功

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

{
"access_token" : "eyJraWQiOiI1MzQyOGU3ZS1kOTJiLTQ3OTAtOGIwMC0wMmEyZjc4NjUxNzMiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJNT0NLX1VTRVJfSUQiLCJhdWQiOiJURU5BTlRfQ0xJRU5UX0lEIiwibmJmIjoxNjQwNTg4ODI2LCJzY29wZSI6WyJvcGVuaWQiXSwiaXNzIjoiaHR0cHM6XC9cL3NhbXBsZS5wb3J0YWwudGVuY2VudGNpYW0uY29tIiwiZXhwIjoxNjQwNTg5MTI2LCJpYXQiOjE2NDA1ODg4MjYsImp0aSI6IjU0ODZhNWRhLTE0YTYtNDNkZC04MWNkLTEwNmRiMDVhMjJmZiJ9.cd2hoQEVZLGcRaqhDLs-W8m9IN2pDT4XzluxYz4ulNwHTfBTu_1NamlH0kmd0KDhzBMRAl6YXHVDVOXZEV47C1uoYDATnwQetUsg8eJObzlPEVZ81ovU-eRm7I0lQ_MVI9MC7jMcdOKvEDJCOJtnwtorkQpqEPYovrxctNvvClqLBsDVbUebC2-iUGwz4vWE-DL17M39rqtmwXv6C21ovv6Pe9BSUUAj_CzHSV-ZSF7fjyYjnlTEOLjilFNsFD9Ow1czNFqnwxkc7dwugOGJ7qM30zuTgSme76K3tLbol8fKO-CUKglZO9mWIXUWizhePTzd3CKGE4C7gUHR40EjNw",
"refresh_token" : "7uqTlthTQrzIZx8joT20chQbakZp81_iv39GTyCpsEyYpWoquNhuB3s6qEQHGeu2RBpaZcavFf9UOdgtUaCjB42D478MISnj6qBY52q3Pd5eNBBcXZ68oqMkFVidvgha",
"scope" : "openid",
"id_token" : "eyJraWQiOiI1MzQyOGU3ZS1kOTJiLTQ3OTAtOGIwMC0wMmEyZjc4NjUxNzMiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJNT0NLX1VTRVJfSUQiLCJhdWQiOiJURU5BTlRfQ0xJRU5UX0lEIiwiYXpwIjoiVEVOQU5UX0NMSUVOVF9JRCIsImlzcyI6Imh0dHBzOlwvXC9zYW1wbGUucG9ydGFsLnRlbmNlbnRjaWFtLmNvbSIsImV4cCI6MTY0MDU5MDYyNiwiaWF0IjoxNjQwNTg4ODI2LCJqdGkiOiI0Mzg0OTUwYS0zOTFlLTQ3MDgtYjFjYS05ZjVkNzQzN2Q3ZDIifQ.kaquINkB64dRAaXPG8KLBCpZ6hwNxtA5ruXpwYgEzFHppXQMqPRQQ-Iwn0659lpy8B2CqjRIar_A1xS518Uua3ItkUtoJQXcIxLDSGRatk6mZ6q7XgOHvALsLhQlYQjn36kXdnOJipPVB124y-o20UHwUC27nUH0e9GuYxwX3p56684NB4xJXUfEL2yl9Zt8rMEpD1I1hI5exg75ZP7MCSjzoNgr7fmpGuDNWWhRALh6sY4Dv5BSgE9B0No0xwFOLnAV4NMsvimJg5rBlJXepOhW4JfwZ3TnzXtDUk3oeajhRxPtjbkxt5NrSYMxUwBggkcoi4eOfVpo8crmQNrSVQ",
"token_type" : "Bearer",
"expires_in" : 299
}

响应参数

参数
数据类型
描述
access_token
String
OAuth 2.0 Access Token (JWT)。
token_type
String
Token 类型,目前返回的是固定值 Bearer
expires_in
Number
Access Token 有效期,单位秒。
scope
String
Access Token scope。
refresh_token
String
OAuth 2.0 Refresh Token。
id_token
String
OIDC ID Token (JWT)。

异常响应示例

用户名密码错误。
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8

{
"error" : "invalid_grant",
"error_description" : "Wrong username or password"
}
用户状态异常(如被锁定或冻结)。
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8

{
"error" : "invalid_grant",
"error_description" : "Abnormal user status"
}
使用了认证源不支持的属性作为用户名(例如:username 传入了邮箱地址,但账号密码认证源未配置邮箱地址为认证源属性)。
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8

{
"error" : "invalid_grant",
"error_description" : "Unsupported username identifier"
}
认证源不是应用的首选认证源或关联认证源。
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8

{
"error" : "invalid_auth_source",
"error_description" : "Auth source and application not associated"
}


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈