gpt4 book ai didi

java - 如何在使用 java servlets 实现 OpenId 时捕获 google 提供的 XRDS 文档

转载 作者:行者123 更新时间:2023-11-29 09:00:57 25 4
gpt4 key购买 nike

我尝试使用 google Openid 提供程序在 Java 中实现 OpenId。我读到我们需要做 response.sendRedirect()

这给了我一个 XML 文档作为返回,这意味着它要求我保存一个 XRDS 文档。我不知道如何在servlet 中处理这个文件。如果有人能解决这个简单的问题,那将会很有帮助。

最佳答案

不确定您是否知道 openid4java - 它是一个 openid 库,它应该具有您正在寻找的功能。无论您是否决定使用它,请查看 sample consumer code ,如果您决定不使用该库,它应该让您了解如何自行检索和解析 XRDS。

例如,使用 openid4java 库,您可以通过如下简单的方式获取 Google 端点:

import java.util.List;

import org.openid4java.consumer.ConsumerManager;
import org.openid4java.discovery.DiscoveryException;
import org.openid4java.discovery.DiscoveryInformation;

public class XRDSConsumer {
public static void main(String[] args) {
ConsumerManager manager = new ConsumerManager();
try {
//get XRDS from Google discovery url
List<DiscoveryInformation> discoveries =
manager.discover("https://www.google.com/accounts/o8/id");

for(DiscoveryInformation info: discoveries) {
//will get something like: https://www.google.com/accounts/o8/ud
System.out.println(info.getOPEndpoint());
}
} catch (DiscoveryException e) {
e.printStackTrace();
}
}
}

关于java - 如何在使用 java servlets 实现 OpenId 时捕获 google 提供的 XRDS 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17498663/

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