gpt4 book ai didi

java - Google 客户端登录处理 AuthToken

转载 作者:行者123 更新时间:2023-12-02 07:50:36 29 4
gpt4 key购买 nike

我有一个非 gae、gwt 应用程序,它有一个模块,允许用户通过 google docs api 在线创建文档。

为此,我首先要求用户输入文档的名称和类型,然后通过 google docs api 使用给定的参数创建一个新文档,并且该 servlet 的 onSucces 部分返回在客户端使用的编辑链接打开一个新页面来编辑创建的文档。

问题是,每次我尝试打开该 editLink 用户都必须输入登录信息。为了解决这个问题,我尝试使用 Google 客户端登录,但我想我完全迷失了。

首先我有用户的用户名和密码,可以直接使用它们,搜索后我尝试了一些示例,这些示例通常返回像 this 这样的 token 和 that 。现在我应该用 token 做什么?如何使用它来完成登录过程,或者应该完全找到另一种登录方式?所有这些 oauth1、oauth2 等文档让我有点困惑。

这是我的步骤;

服务器端;

    LinkedHashMap<String, String> hashMap = new LinkedHashMap<String, String>();

// Login
DocumentList docList = new DocumentList("document");
docList.login(ServletUtil.googleDocsLoginInfo().get("username"), ServletUtil.googleDocsLoginInfo().get("password"));

//Create document with a unique suffix
String docName= parameterName+ "-Created-" + new Date();
docList.createNew(docName, dosyaTur);

// Find the created document and store editLink
DocumentListFeed feed = docList.getDocsListFeed("all");

for (final DocumentListEntry entry : feed.getEntries()) {

if (entry.getTitle().getPlainText().equals(docName)) {

hashMap.put("editlink", entry.getDocumentLink().getHref());

}

}

return hashMap;

和客户端;

    @Override
public void onSuccess(LinkedHashMap<String, String> result) {


String editLink = result.get("editlink");

Window.open(editLink,"newwindow","locationno");

}

感谢您的帮助。

最佳答案

如果我可以建议使用 OAuth 而不是客户端登录,它已经过时且不太安全。功能基本相同(对于OAuth 2.0,有更多方法来处理登录)。

我知道,尝试了解如何通过 OAuth 访问 api 非常令人困惑,所以我尝试将其分解一下:

如果您使用 OAuth 2.0,您可能需要使用类似 this 的库或者您可以尝试一下my own (虽然我是为 Android 编写的,但这可以与其他 Java 应用程序(包括 Web 应用程序)一起使用)

这是用户首次使用您的应用登录时发生的情况:

  1. > 您的应用发送授权请求,其中包含有关您的应用的一些信息 - 例如,您的应用需要向 Google 注册,因此具有特殊的应用程序 key
  2. < 服务器向您发送一个 url,在新的浏览器窗口中打开它并让用户登录。在那里,他会被要求允许您的应用访问他的帐户(或其某些部分) - 当他确认时,系统将提示他输入需要复制的授权代码
  3. > 用户返回您的应用,您将向他询问授权代码。在他提供之后,您的应用会再次与服务器连接,并将代码作为用户的某种授权发送。
  4. <服务器使用访问 token 进行应答
  5. 您所需要做的就是在对隐藏在 header 消息中的服务器的所有请求中使用此访问 token (也称为不记名 token )。

很抱歉,我现在无法给您更准确的答案,因为我从未使用过 GWT。我只能说,尝试使用 OAuth2,它实际上非常简单(在您了解授权流程、不记名 token 等所有令人困惑的事情之后),并且一旦用户完成第一次登录,他就会感到非常舒服。

关于java - Google 客户端登录处理 AuthToken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10272074/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com