【问题标题】:How can I implement a GWT callback url?如何实现 GWT 回调 url?
【发布时间】:2010-12-21 13:26:07
【问题描述】:

我正在编写一个将使用 OAuth 的 GWT 应用程序。 OAuth 提供了通过您传递给它的 url 以及作为 url 参数的一部分的访问密钥“回调”到您的网站的能力。

我的问题是:对于 GWT 应用程序,如何允许将自定义 URL 粘贴/重定向到地址栏中?本质上,这将是一个服务器请求,使用带有 jsp 的 tomcat 服务器非常简单,但是有没有办法使用纯 GWT 实现来处理这个问题?

我可以想象以下是可能的:

  • 编写一个与 GWT 项目一起部署的 jsp 页面
  • 存储访问密钥
  • 再次将用户重定向到我的 GWT 应用程序的主页

有没有更纯粹的方法可以用 GWT 做到这一点?我可以直接调用 RPC 服务来执行此任务吗?如果我调用 RPC 服务,我应该将用户重定向到主页吗?我可以只实现我的 GWT 客户端代码,以便它识别从 url 传递的自定义参数吗?

您认为最好的方法是什么?

【问题讨论】:

    标签: url gwt callback oauth


    【解决方案1】:

    请参阅 com.google.gwt.user.client.Window.Location.replace(String newUrl),但坏消息是您将丢失所有内部历史记录。这是一个人experiences with OAuth and his pure GWT solution 的博客条目。还有一个GWT example project that does OAuth

    【讨论】:

    • 这些都是试图实现 OAuth 的人的链接。我正在使用 scribe 为我执行 OAuth,但我仍然需要一个自定义处理程序来处理来自站点的身份验证回调。
    • 所以基本上你想使用 Scribe 处理 OAuth 服务器端,所以如果我理解正确你需要一些服务器端方法。 1) 创建请求令牌并将令牌返回给客户端的方法,客户端会将令牌和机密保存到 cookie 中。然后,您将使用返回的令牌将客户端重定向到身份验证页面。经过身份验证后,回调 URL 会将用户重定向到您的站点,此时验证程序将可用。此时,您会将验证者发送到服务器以创建访问令牌。
    • 访问令牌将被返回给客户端并存储在cookie中,此时您可以删除请求令牌cookie。现在,每当客户端向您的服务器发出请求时,您都可以访问请求令牌并可以使用 scribe 发出请求。上面提供的链接是纯 GWT 解决方案,但如果您想使用 Scribe,我刚才详述的方法应该可以工作。这是一篇文章的链接,详细介绍了如何使用 Scribe 执行其中一些步骤:developer.linkedin.com/message/4568
    • 它现在就像一个魅力。我相信一旦我正确实施历史记录,我将丢失回调的历史记录。
    【解决方案2】:

    我也遇到过这个问题。这是我的解决方案:

    调用RPC和

    onSuccess() {
    }
    
    onFailure(){ // for example, don't have permission to see this page 
     Window.Location.assign("login.html");
    }
    

    不能从 rpc(servlet) 发送重定向。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-06
      • 2021-01-25
      • 1970-01-01
      相关资源
      最近更新 更多