用户信息查询
连接的应用程序可以向 UserInfo 端点查询与连接的应用程序的访问标记相关联的用户的信息。Salesforce 返回关于用户的基本个人信息,以及连接的应用程序可与其对话的重要端点,如用户的照片和其可访问的 API 端点。此用户信息端点仅为当前用户提供信息的访问权限。不会为组织中的内容用户授予访问权限。
所需的 Edition
| 适用于 Salesforce Classic 和 Lightning Experience |
| 适用于:所有版本 |
UserInfo 端点是一个由 OpenID Connect 定义的 RESTful API。端点 URL 的格式是:https://login.salesforce.com/services/oauth2/userinfo。
备注 对于 sandbox,使用 test.salesforce.com 替代 login.salesforce.com。对于 Experience Cloud 站点,使用站点 URL 替换 login.salesforce.com,例如 MyDomainName.my.site.com/.well-known/openid-configuration.。URL 必须是 HTTPS。
下面是查询 UserInfo 端点的流程。
- 连接的应用程序向 Salesforce UserInfo 端点发送查询。查询必须包含连接的应用程序的访问标记。
- Salesforce 以用户信息作为回应。
查询 UserInfo 端点
使用这些参数查询 UserInfo 端点。您可以在授权请求标题或带有 oauth_token 参数的请求中使用访问令牌。
重要 在开发 OAuth 集成时,请始终在 POST 请求的正文或请求标题中传递敏感信息。不要在 URL 查询字符串中使用 GET 参数来传递敏感信息。敏感信息包括但不限于用户名、密码、OAuth 令牌、客户端密码和任何个人身份信息。有关安全最佳实践的更多信息,请查看安全编码指南中的存储敏感数据。
Salesforce UserInfo 端点响应
默认情况下,在进行了有效的请求后,Salesforce 会返回 JSON 格式的信息,或返回格式参数中指定的格式。
响应包含 OpenID Connect 基本客户端简档中列出的值、Salesforce 用户 ID、组织 Id、摘要和简档 URL。
在响应中,email_verified 属性反映了发生以下情况后,用户是否验证了他们的电子邮件:例如,Salesforce 管理员创建用户 Roberta Smith。Roberta 会收到一封“欢迎使用 Salesforce”的电子邮件,并附带一个链接来验证她的账户。单击链接后,email_verified 值设置为 true。
- 更改他们的电子邮件
- 更改他们的密码,或者 Salesforce 管理员重置密码
- 当从新设备或浏览器登录时,他们验证自己的身份
- Salesforce 管理员将其创建为新用户
以下是 JSON 格式的响应。
{"sub":"https://login.salesforce.com/id/00Dx000.../005x000...",
"user_id":"005x000...",
"organization_id":"00Dx000...",
"name":"yourInstance LastName",
"email":"user1@1135222488950007.com",
"email_verified":true,"given_name":"yourInstance","family_name":"LastName",
"zoneinfo":"America/Los_Angeles",
"photos":{"picture":"https://yourInstance.salesforce.com/profilephoto/005/F","thumbnail":"https://yourInstance.salesforce.com/profilephoto/005/T"},
"profile":"https://yourInstance.salesforce.com/005x000...",
"picture":"https://yourInstance.salesforce.com/profilephoto/005/F",
"address":{"country":"us"},
"urls":{"enterprise":"https://yourInstance.salesforce.com/services/Soap/c/{version}/00Dx00...",
"partner":"https://yourInstance.salesforce.com/services/Soap/u/{version}/00Dx00...",
"rest":"https://yourInstance.salesforce.com/services/data/v{version}/",
"sobjects":"https://yourInstance.salesforce.com/services/data/v{version}/sobjects/",
"search":"https://yourInstance.salesforce.com/services/data/v{version}/search/",
"query":"https://yourInstance.salesforce.com/services/data/v{version}/query/",
"recent":"https://yourInstance.salesforce.com/services/data/v{version}/recent/",
"profile":"https://yourInstance.salesforce.com/005x000...",
"feeds":"https://yourInstance.salesforce.com/services/data/v{version}/chatter/feeds",
"groups":"https://yourInstance.salesforce.com/services/data/v{version}/chatter/groups",
"users":"https://yourInstance.salesforce.com/services/data/v{version}/chatter/users",
"feed_items":"https://yourInstance.salesforce.com/services/data/v{version}/chatter/feed-items"},
"active":true,"user_type":"STANDARD","language":"en_US","locale":"en_US",
"utcOffset":-28800000,"updated_at":"2013-12-02T18:46:42Z"}以下是 XML 格式的响应。
<?xml version="1.0" encoding="UTF-8"?>
<user>
<sub>https://login.salesforce.com/id/00Dx000.../005x000...</sub>
<user_id>005x000...</user_id>
<organization_id>00Dx000...</organization_id>
<preferred_username>user1@1135222488950007.com</preferred_username>
<nickname>user1.3860098879512678E12</nickname>
<name>user1 LastName</name>
<email>user1@1135222488950007.com</email>
<email_verified>true</email_verified>
<given_name>user1</given_name>
<family_name>LastName</family_name>
<zoneinfo>America/Los_Angeles</zoneinfo>
<photos>
<picture>https://yourInstance.salesforce.com/profilephoto/005/F</picture>
<thumbnail>https://yourInstance.salesforce.com/profilephoto/005/T</thumbnail></photos>
<profile>https://yourInstance.salesforce.com/005x000...</profile>
<picture>https://yourInstance.salesforce.com/profilephoto/005/F</picture>
<address>
<country>us</country>
</address>
<urls>
<enterprise>https://yourInstance.salesforce.com/services/Soap/c/{version}/00Dx0000002rIh1</enterprise>
<metadata>https://yourInstance.salesforce.com/services/Soap/m/{version}/00Dx0000002rIh1</metadata>
<partner>https://yourInstance.salesforce.com/services/Soap/u/{version}/00Dx0000002rIh1</partner>
<rest>https://yourInstance.salesforce.com/services/data/v{version}/</rest>
<sobjects>https://yourInstance.salesforce.com/services/data/v{version}/sobjects/</sobjects>
<search>https://yourInstance.salesforce.com/services/data/v{version}/search/</search>
<query>https://yourInstance.salesforce.com/services/data/v{version}/query/</query>
<recent>https://yourInstance.salesforce.com/services/data/v{version}/recent/</recent>
<profile>https://yourInstance.salesforce.com/005x000...</profile>
<feeds>https://yourInstance.salesforce.com/services/data/v{version}/chatter/feeds</feeds>
<groups>https://yourInstance.salesforce.com/services/data/v{version}/chatter/groups</groups>
<users>https://yourInstance.salesforce.com/services/data/v{version}/chatter/users</users>
<feed_items>https://yourInstance.salesforce.com/services/data/v{version}/chatter/feed-items</feed_items>
</urls>
<active>true</active>
<user_type>STANDARD</user_type>
<language>en_US</language>
<locale>en_US</locale>
<utcOffset>-28800000</utcOffset>
<updated_at>2013-12-02T18:46:42.000Z</updated_at>
</user>以下是返回的参数的描述。
以下是 Salesforce 对无效请求可能做出的响应。
| 错误代码 | 请求问题 |
|---|---|
| 403(禁止) — HTTPS_Required | HTTP |
| 403(禁止) — Missing_OAuth_Token | 缺少访问标记 |
| 403(禁止) — Bad_OAuth_Token | 无效访问标记 |
| 403(禁止) — Wrong_Org | 用户在不同的组织中 |
| 404(找不到) — Bad_Id | 无效或错误用户或组织 ID |
| 404(找不到) — 无效 | 禁用用户或无效组织 |
| 404(找不到) — No_Access | 用户缺少对组织或信息的访问权限 |
| 404(找不到) — No_Site_Endpoint | 对站点无效端点的请求 |
| 404(找不到)— 内部错误 | 服务器未响应 |
| 406(不可接受) — Invalid_Version | 无效版本 |
| 406(不可接受) — Invalid_Callback | 无效回调 |
本文章是否解决您的问题?
请与我们共享您的想法,以便我们进行改进!

