首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用java实现OpenId时捕获谷歌提供的XRDS文档

如何在使用java实现OpenId时捕获谷歌提供的XRDS文档
EN

Stack Overflow用户
提问于 2013-07-06 09:14:33
回答 1查看 344关注 0票数 2

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

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

EN

回答 1

Stack Overflow用户

发布于 2013-07-08 14:54:11

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

例如,使用openid4java库,您可以使用如下所示的简单内容获取谷歌端点:

代码语言:javascript
复制
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();
    }
  }  
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17498663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档