创建获取无 Cookie 的嵌入会话

版本 4.0.23.4

获取无 Cookie 的嵌入会话。

获取会话端点会取消对嵌入网址进行签名并将其作为参数传递给嵌入登录信息的需要。此端点接受嵌入用户定义并创建或更新用户定义。这与嵌入单点登录的登录行为类似,因为它们都可以创建和更新嵌入用户数据。

端点还接受可选的 session_reference_token。如果存在会话并且会话未过期,且凭据与嵌入会话的凭据匹配,则系统会生成新的身份验证令牌。这样,嵌入会话便可将新的嵌入式 IFRAME 附加到嵌入会话。请注意,在这种情况下,会话不会扩展。也就是说,session_length 参数会被忽略。

重要提示:如果提供了 session_reference_token 且会话未过期,则嵌入用户不会更新。这样做是出于性能方面的原因,是为了支持嵌入的第一个 SSO 用例,即网页上创建的第一个 IFRAME 使用签名网址,而创建后续 IFRAME 时则不支持。

如果提供了 session_reference_token,但会话已过期,系统会忽略令牌并创建新的嵌入会话。请注意,在这种情况下,嵌入用户定义将会更新。

如果凭据与现有的 session_reference_token 不匹配,则返回 404。

端点会返回以下内容:

  • 身份验证令牌 - 传递给创建或附加到嵌入会话的 /embed/login 端点的令牌。此令牌可以使用一次,有效期为 30 秒。
  • 会话参考令牌 - 在会话期间存在的令牌。此令牌用于生成新的 API 和导航令牌,或者用于创建新的嵌入 IFRAME。
  • API 令牌 - 有效期为 10 分钟。Looker 客户端会在令牌被加载到 iframe 中后请求此令牌。
  • 导航令牌 - 有效期 10 分钟。将令牌加载到 iframe 中后,Looker 客户端会请求获取此令牌。

请求

POST /embed/cookieless_session/acquire
数据类型
说明
请求
HTTP 请求
body
HTTP 正文
展开 HTTPBody 定义...
body
EmbedCookielessSessionAcquire(嵌入 Cookie 会话)
嵌入用户详细信息
展开 EmbedCookielessSessionAcquire 定义...
会话时长
整数
单点登录会话启动后,单点登录嵌入会话的秒数。默认为 300 秒。接受的会话时长上限为 2592000 秒(30 天)。
force_logout_login
布尔值
如果为 true,嵌入会话将完全清除所有剩余的 Looker 登录状态(例如在浏览器 Cookie 中),然后再使用指定的嵌入用户信息创建新的登录状态。默认值为 true。
external_user_id
字符串
来自外部系统的值,用于唯一标识嵌入用户。Looker 嵌入用户的 user_id 可能会随每次嵌入会话而发生变化,因此 external_user_id 提供了一种方式来跨多个嵌入式会话分配已知稳定的用户标识符。
first_name(名字)
字符串
嵌入用户的名字。如果未指定,则默认为“嵌入”
last_name(姓氏)
字符串
嵌入用户的姓氏。如果未指定,则默认为“用户”
user_timezone
字符串
如果在 Looker 管理员设置中启用了“特定于用户的时区”设置,则为嵌入用户会话设置用户时区。值“null”将强制嵌入用户使用 Looker 应用默认时区。如果用户专用时区设置处于停用状态,您必须在请求中省略此属性。时区值会根据 IANA 时区标准进行验证,您可以在 Looker 常规设置管理页面的“应用时区”下拉列表中查看。
权限
字符串 []
模型
字符串 []
组 ID
字符串 []
external_group_id [外部群组 ID]
字符串
用于标识嵌入专有组的唯一值。多个使用相同 `external_group_id` 值的嵌入用户将能够彼此共享 Looker 内容。普通 Looker 用户将无法访问与该 `external_group_id` 关联的内容和嵌入用户,也不会嵌入未与此 `external_group_id` 关联的嵌入用户。
user_attributes
对象
一个名称-值对的字典,用于将 Looker 用户属性名称与值相关联。
session_reference_token
字符串
引用嵌入会话的令牌,用于生成新的身份验证、导航和 API 令牌。

响应

200:嵌入无 Cookie 获取会话响应

数据类型
说明
authentication_token
字符串
使用一次性令牌创建或附加到 Looker 应用服务器中的嵌入式会话。
authentication_token_ttl
整数
身份验证令牌的存留时间(以秒为单位)。
navigation_token
字符串
用于在 Looker 页面之间加载和导航的令牌。
navigation_token_ttl
整数
导航令牌的存留时间(以秒为单位)。
api_token
字符串
用于调用 Looker API 的令牌。
api_token_ttl
整数
API 令牌的存留时间(以秒为单位)。
session_reference_token
字符串
引用实际嵌入会话的令牌。它用于生成新的 API、导航和身份验证令牌。API 和导航令牌属于短期令牌,必须定期刷新。必须为创建的每个 IFRAME 获取新的身份验证令牌。session_reference_token 应妥善保护,最好是在嵌入的主机应用服务器中。
session_reference_token_ttl
整数
会话参考令牌的存留时间(以秒为单位)。请注意,这与实际会话相同。

400:错误请求

数据类型
说明
(对象)
消息
字符串
错误详情
文档网址
字符串
文档链接

404:未找到

数据类型
说明
(对象)
消息
字符串
错误详情
文档网址
字符串
文档链接

409:资源已存在

数据类型
说明
(对象)
消息
字符串
错误详情
文档网址
字符串
文档链接

422:验证错误

数据类型
说明
(对象)
消息
字符串
错误详情
展开 ValidationErrorDetail 定义...
字段
字符串
出错的字段
代码
字符串
错误代码
消息
字符串
错误信息消息
文档网址
字符串
文档链接
文档网址
字符串
文档链接

429:请求数过多

数据类型
说明
(对象)
消息
字符串
错误详情
文档网址
字符串
文档链接