【问题标题】:Why socialauth is giving class cast exception on provided parameter map?为什么 socialauth 在提供的参数映射上给出类转换异常?
【发布时间】:2011-07-14 22:26:30
【问题描述】:

SocialAuth getting started guide 有以下代码示例:

  // get the auth provider manager from session
  SocialAuthManager manager = (SocialAuthManager)session.getAttribute("authManager");

  // call connect method of manager which returns the provider object. 
  // Pass request parameter map while calling connect method. 
   AuthProvider provider = manager.connect(paramsMap);

  // get profile
  Profile p = provider.getUserProfile();

  // you can obtain profile information
  System.out.println(p.getFirstName());

  // OR also obtain list of contacts
  List<Contact> contactsList = provider.getContactList();

第 3-4 行的注释说我们应该将请求参数映射传递给manager.connect()。我试过了:

manager.connect(request.getParameterMap());

但它给了

java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String

我应该创建自己的参数映射而不是传递 request.getParameterMap() 返回的映射吗?

【问题讨论】:

    标签: java classcastexception socialauth


    【解决方案1】:

    回答我自己的问题:

    socialauth 源有一个带有以下代码的示例:

    Map<String, String> paramsMap = SocialAuthUtil.getRequestParametersMap(request);            
    AuthProvider provider = manager.connect(paramsMap);
    

    修复了 classcastexception

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-24
      • 2020-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-16
      • 2014-02-19
      相关资源
      最近更新 更多