问题标签 [liveconnect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
188 浏览

authentication - 作为 Azure ACS 身份提供者的 Live Connect

我使用 Azure ACS 作为我的应用程序的联合网关,我允许用户使用 Google、Yahoo 和 Windows Live ID 进行身份验证。我需要用户的电子邮件地址。Google 和 Yahoo 提供电子邮件,但 Windows Live ID 不提供。

如果用户使用 Live Connect 进行身份验证,但 Azure ACS 中没有可用的 Live Connect 身份提供程序,我可以获得用户的电子邮件地址。有什么方法可以将 Live Connect 配置为 ACS 中的身份提供者?

0 投票
1 回答
313 浏览

java - 使用 javascript 访问 java 变量(通过 java 方法)时出错

由于某种原因,我无法使用 JavaScript 读取变量。

我正在使用一个小程序,我在 Chrome 控制台中遇到的错误是:

未捕获的错误:java.security.AccessControlException:访问被拒绝(“java.lang.RuntimePermission”“getenv.processor_identifer”)

未捕获的错误:在 NPObject 上调用方法时出错。

访问代码:

有任何想法吗?

0 投票
2 回答
1608 浏览

java - 如何使用 Java 小程序获取绝对文件路径

我正在尝试在网络浏览器中获取绝对文件路径。我了解到使用纯 HTML 和 javascript 是不可能的,而 Java 小程序是最好的途径。不幸的是,我对 Java 的了解充其量只是初级的。到目前为止,我有这个 java 代码:

从我在http://jdk6.java.net/plugin2/liveconnect/#JS_TO_JAVA读到的内容,我可以从 javascript 调用小程序方法,所以我想出了这个测试网页:

但是,在萤火虫控制台中,我得到:

类型错误:fileabs.getFilePath 不是函数

我觉得我错过了一些明显的东西。谁能帮我弄清楚我在这里有什么问题?

0 投票
1 回答
1215 浏览

liveconnect - Microsoft Live Connect,REST 访问问题

我正在尝试从 Java webapp 访问 Microsoft LiveConnect。而且我在获取令牌时遇到了问题。

问题如下:我遵循了http://msdn.microsoft.com/en-us/library/live/hh243647.aspx#authcodegrant中所示的授权代码授予流程

LiveConnect 使用以下格式的 URL 将用户代理(浏览器)重定向到我的服务器

然后我的网络应用程序使用以下格式向 LiveConnect 发出 REST(POST 请求)

LiveConnect 没有返回一些有意义的数据,而是返回一个包含一些不相关信息的 html 页面,像这样

我还在这里发布了涉及 REST api 的 Java 代码

0 投票
1 回答
1337 浏览

c# - 用于更新令牌的实时连接 SDK REST 请求

我正在尝试更新令牌,但出现错误“远程服务器返回错误:(400) 错误请求。” 我的代码是:

如果我从浏览器发送它,我会得到

我试图用 POST 来做,但这是同样的问题。有什么想法吗?

0 投票
1 回答
1665 浏览

oauth-2.0 - Live Connect OAuth2 的重放攻击问题严重吗?为什么允许多次使用授权码?

首先感谢您的时间。我非常担心 Live Connect 的 OAuth2 API。

我遵循这一点,并使用 DotNetOpenAuth 为我们的联合身份和访问管理系统实施/集成 LiveId 身份验证/授权。

http://msdn.microsoft.com/en-us/library/live/hh243647.aspx#authcodegrant

在很长一段时间内一切正常。但是现在我在修复 LiveId 登录模块的重放攻击问题时遇到了严重的麻烦。让我们看一下上面文章中的授权码授予流程。

"*4. 用户代理使用重定向 URI 调用客户端,其中包括授权代码和客户端提供的任何本地状态。例如:...Callback.htm?code=AUTHORIZATION_CODE。 5. 客户端请求来自授权服务器的令牌端点的访问令牌,使用其客户端凭据进行身份验证,并包括在上一步中收到的授权代码。客户端包括用于获取授权代码以进行验证的重定向 URI。*"

在第 4 步之后,Live Connect OAuth2 服务器返回到我的回调端点,并带有授权码和状态,如下所示:

https://ssss.myapp.com:443/liveid/consume.idp?code=406dd558-0cda-50cc-bd37-d964ec29fbb3&state=uvygsnd3gba0jwi315kdyccs

问题是,授权码可以多次使用。因此它会导致严重的重放攻击问题,例如以下场景:

  1. 用户 A 在登录我的应用程序时,选择 LiveId 登录,然后他被重定向到 LiveId 登录页面。然后他登录,Live Connect OAuth2服务器返回回调端点,code=xxx&state=yyy...用户A然后使用此授权码获取访问令牌...

  2. 用户 B 在登录我的应用程序时,选择 LiveId 登录,然后他在 LiveId 的登录页面登录。Live Connect OAuth2 服务器现在返回 code=kkk&state=ggg

如果我这次,使用 Webscarab 之类的工具来捕获响应/请求,然后将 OAuth2 服务器的返回更改为 code=xxx&state=ggg(旧的授权码是给用户 A,而不是 B)。之后,使用此重放授权码请求访问令牌顺利进行。你猜怎么着?我再次收到了之前给用户 A 的 ACCESS TOKEN……最后,用户 B 可以作为用户 A 登录到我的应用程序。

请注意,对 Google OAuth2 服务器应用与上述相同的重放攻击,我收到来自服务器的错误请求错误,Google OAuth2 授权码永远不能被多次使用。并且代码流程或者确切地说,谷歌登录和 LiveId 登录的实现是完全一样的。

我使用 DotNetOpenAuth.OAuth2.WebServerClient 为 Google 和 LiveId 实现 OAuth2 身份验证流程。再次,完全相同的代码,但谷歌 OAuth2 服务器在重用授权代码时返回“错误请求”,但 LiveId 返回前一个用户的旧访问令牌。

这是一个严重的安全问题。希望大家对此有一些想法。或者希望我在某些方面是错误的。请指出。

非常感谢,Phuc Le。

0 投票
1 回答
623 浏览

java - Java FX liveconnect - 从 FX 应用程序调用 javascript 函数

我面临一个问题,我需要从 Java FX 应用程序到浏览器进行通信。在此之前,我发现信息为:

有了这个,我可以访问 JavaScript 函数。但我的 Java FX 应用程序不是小程序(未实现JApplet)。那么我可以提供什么作为 getWindow() 的输入。

有什么建议吗?

0 投票
0 回答
343 浏览

java - 使用 javaFx 在浏览器中访问 Json 和 httpclient jar

在我的应用程序中,我使用 java Live connect api 在浏览器中加载 javafx 应用程序,并使用http://docs.oracle.com/javafx/2/deployment/deployment_toolkit.htm中提到的 dtjava.js 通过 jsp 访问 fx 应用程序。参考 fx application(Id="app") 我正在使用 html/javascript 按钮访问 fx 主类方法

app.methodname() 直到没问题。

但是如果这些方法正在访问,我将无法访问这些方法

JSONArray 数组 = 新 JSONArray();

(所有 jar 都已登录)我在从 broser html 按钮访问 json jar(json-lib-2.3-jdk15.jar)或 org.apache.commons.httpclient.jar 时遇到问题)。

在 java 调试控制台中获得响应,如

在此处输入图像描述 有什么建议吗?

0 投票
1 回答
427 浏览

java - Java 到 javascript 的通信 (LiveConnect) 最近坏了?

看看这个链接:

http://www.chemaxon.com/marvin/examples/applets/sketch/chemicalterms2.html

这个小程序是可信的、签名的等,但我找不到它工作的配置(操作系统/浏览器/Java)......

我有:

  • Ubuntu 12.04 / FF 25 / Java 1.7.0_45-b18
  • Ubuntu 12.04 / 铬 30.0.1599.114 / Java 1.7.0_45-b18
  • OSX 10.9 / FF 25 / 1.7.0_21-b12
  • OSX 10.9 / Safari 7.0 (9537.71) / 1.7.0_21-b12

在所有这些环境中,我都可以看到相同的 js 错误:

LiveConnect 坏了吗?我该如何解决?任何帮助表示赞赏!

0 投票
5 回答
9338 浏览

java - 由于 Java 7u51 可用,LiveConnect 调用在 7u45 上被阻止

我有一个带有 Java 小程序的页面,其中包含以下 JavaScript 代码,当窗口关闭以执行一些清理任务时,它会调用 LiveConnect:

直到昨天,这都按预期工作,并在小程序中执行了清理任务。

现在 Java 7u51 可用了,我今天访问了这个小程序,并在提示更新到最新版本的 Java 时选择了“稍后”。现在,当我关闭窗口时,我收到一个 JavaScript 错误:

对象不支持属性或方法“closeCheck”

只是为了澄清这一点,安装了 Java 7u45。

这是预期的行为还是我能做些什么让它在 7u45 上仍然有效?我在发行说明中找不到任何提及这一点,在 7u51 之前,我们的实时连接调用仍然可以在没有最新安全基线的情况下工作。

更新

以上是我的 Java 安全设置为高。

我已将其更改为中并重复上述内容。我现在收到一条消息,询问我是要允许还是阻止 LiveConnect 呼叫。

允许 LiveConnect 提示

现在似乎有一个未记录的(据我所知)要求 LiveConnect 仅在您处于安全基线 (7u51) 时才能工作。

请注意,一旦我更新到 7u51,对小程序的 LiveConnect 调用无需对小程序进行任何更改即可工作