Java 为什么socialauth在提供的参数映射上给出类强制转换异常?
SocialAuth具有以下代码示例:Java 为什么socialauth在提供的参数映射上给出类强制转换异常?,java,classcastexception,socialauth,Java,Classcastexception,Socialauth,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 param
// 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();
但它给
java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String
我是否应该创建自己的参数映射,而不是传递请求返回的映射。getParameterMap?回答我自己的问题: socialauth源代码有一个包含以下代码的示例:
Map<String, String> paramsMap = SocialAuthUtil.getRequestParametersMap(request);
AuthProvider provider = manager.connect(paramsMap);
这修复了classcastexception
Map<String, String> paramsMap = SocialAuthUtil.getRequestParametersMap(request);
AuthProvider provider = manager.connect(paramsMap);