1

SocialAuth入门指南有以下代码示例:

  // 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()吗?

4

1 回答 1

0

回答我自己的问题:

socialauth 源有一个示例,其中包含以下代码:

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

哪个修复了classcastexception

于 2011-07-14T22:28:41.723 回答