如何将身份验证详细信息传递给 iframe 内的应用程序?

Posted

技术标签:

【中文标题】如何将身份验证详细信息传递给 iframe 内的应用程序?【英文标题】:How to pass authentication details to application inside iframe? 【发布时间】:2020-06-25 04:00:47 【问题描述】:

我有一个网页,想在其中显示 Jenkins 的网页,因此使用了iframe like -

<html>
<head>
    <title>Dashboard</title>
</head>
<body>
    <iframe src="http://xxx.xxx.xx.xx:8080/view/Nightly%20Builds%20/"  ></iframe>
</body>
</html>

http://xxx.xxx.xx.xx:8080/view/Nightly%20Builds%20/ 会打开登录页面,因此无法直接显示内容。其实我想在不登录的情况下显示页面的内容。

有什么方法可以将身份验证详细信息/令牌传递到框架内的网站?

【问题讨论】:

您无法操纵 iframe 的内容,但您可以使用 URL 传递一些信息。您可以创建某种 Token(如 jwt.io)来告诉其他应用程序您是谁,并且用户已登录,但您需要与拥有嵌入式网站的另一方交谈跨度> 【参考方案1】:

我认为您需要处理该页面。

    我假设你有处理用户名和密码或 authToken 验证的 javascript 函数

    函数 authTokenValidate(token) 用于验证令牌然后重定向到的 api http://xxx.xxx.xx.xx:8080/view/Nightly%20Builds%20/

    或假设您有 http://xxx.xxx.xx.xx:8080/view/Nightly%20Builds%20/ 页面,该页面验证 authToken 并让您留在页面上或将您重定向到登录。

    将 url 中的 authToken 作为 Iframe 中的查询参数传递 http://xxx.xxx.xx.xx:8080/view/Nightly%20Builds%20/?auth=AUTH_TOKEN

    所以当页面加载http://xxx.xxx.xx.xx:8080/view/Nightly%20Builds%20/获取授权查询 来自 url 的参数并调用验证身份验证令牌的函数(如果有效,则让 用户停留在页面上,否则重定向到登录页面。

【讨论】:

以上是关于如何将身份验证详细信息传递给 iframe 内的应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 HTTP DELETE 请求中传递身份验证详细信息?

如何将“AzureAd”详细信息显式传递给 AddMicrosoftIdentityWebApi 方法以进行令牌验证

Django-为啥内置身份验证登录功能在成功登录网址后未将有关用户的信息传递给

将 apache2 摘要身份验证信息传递给由 mod_wsgi 运行的 wsgi 脚本

node js jwt如何将令牌传递给其他路由以稍后检查登录的用户信息

在 Angular JS 中检索 Iframe 内的数据绑定值