gpt4 book ai didi

java - 如何使用登录名和密码对用户进行身份验证

转载 作者:行者123 更新时间:2023-12-01 10:05:59 24 4
gpt4 key购买 nike

我开发了一个 Java 桌面应用程序,它使用 AES 加密任何文件。我的任务是允许用户(任何用户,只要他们有 Google 云端硬盘帐户)向 Google 云端硬盘上传/下载文件。

我有一个基本的登录界面,如下所示。他们输入的用户名和密码将与用于登录 Google 云端硬盘的登录凭据相同。图像: Login Screen

然后,简单的用户界面将显示用户 Google 云端硬盘帐户文件夹中的文件列表,并将其显示在屏幕上的 Jlist 中。将有上传、下载或删除三个按钮。

我已经阅读了 StackOverflow 上发布的一些问题以及 Google Developers 网站上发布的信息,但我仍然对它的工作原理感到困惑。我所需要的只是某人的帮助,请简要解释一下所有需要的内容以及我是否走在下面的正确道路上。

我已经下载了 Google API,并发现所需的 jar 文件是 here 。到目前为止我还无法让它们充分工作。

我已经设法找到 OAuth 2.0 的以下编码(如下),用于对用户进行身份验证以获得访问权限,但是有人可以帮助我理解此编码,以便我可以让它与用户所在的 2 个文本字段一起使用输入用于访问 Google 云端硬盘的登录用户名和密码。

public static void main(String[] args) {
try {
httpTransport = GoogleNetHttpTransport.newTrustedTransport();
dataStoreFactory = new FileDataStoreFactory(DATA_STORE_DIR);
// authorization
Credential credential = authorize();
// set up global Plus instance
plus = new Plus.Builder(httpTransport, JSON_FACTORY, credential).setApplicationName(
APPLICATION_NAME).build();
// ...
}

private static Credential authorize() throws Exception {
// load client secrets
GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY,
new InputStreamReader(PlusSample.class.getResourceAsStream("/client_secrets.json")));
// set up authorization code flow
GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
httpTransport, JSON_FACTORY, clientSecrets,
Collections.singleton(PlusScopes.PLUS_ME)).setDataStoreFactory(
dataStoreFactory).build();
// authorize
return new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");
}

上面的连接编码(如果它是 Google Drive 的实际连接编码)是我所有问题所在。我真的不明白它,需要帮助才能更改它或让它与两个文本字段一起使用,然后在 Google Drive 文件夹中的 JList 上显示文件列表。

使用此编码,我还需要做什么或需要使用此编码?如果只是一些基本信息或步骤,我们将不胜感激。

最佳答案

简单的答案是你不能。

使用登录名和密码进行身份验证称为客户端登录,Google 于 2015 年 5 月关闭了客户端登录服务器。您必须使用 Oauth2 并请求访问其驱动器帐户,然后才能访问它。

关于java - 如何使用登录名和密码对用户进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36475172/

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