내 웹 사이트에서 LinkedIn 인증을 받고 싶습니다. API가 원하는 정보를 반환하면 계정 만들기 기능이 작동합니다. 그러나 사이트에 로그인하려고 할 때 몇 가지 문제가있는 것 같습니다.Liferay에서 login() 함수를 호출 할 때 UserEmailAddressException이 발생했습니다.
LoginUtil.login
메서드를 호출하면 UserEmailAddressException
이 표시되는 것으로 보입니다.
at com.liferay.portal.service.impl.UserLocalServiceImpl.authenticate(UserLocalServiceImpl.java:2480)
.
그것은 여기
if (authType.equals(CompanyConstants.AUTH_TYPE_EA)) {
if (!Validator.isEmailAddress(login)) {
throw new UserEmailAddressException();
}
}
에 실패 내 코드는 다음과 같습니다
boolean rememberMe = true;
String authType = CompanyConstants.AUTH_TYPE_EA;
try {
LoginUtil.login(request, response,
String.valueOf(user.getUserId()), user.getPassword(), rememberMe, authType);
}
catch (UserEmailAddressException ueae) {
ueae.printStackTrace();
}
사용자가 이메일 주소를 통해 인증, 그래서 내가 그 올바른 인증 유형이어야합니다 같아요?
portal-ext.properties에 company.security.auth.type=emailAddress
을 추가했으나이 설정을 지정하지 않으면 같은 오류가 발생합니다.
Liferay 설명서가 만족스럽지 않으므로 login()
함수에 대한 적절한 호출을 수행하여 내 사용자가 LinkedIn 계정으로 로그인하는 방법을 알고 싶습니다.
예, 정확합니다, 코크 씨. 전자 메일 주소 대신 사용자 ID를 사용하는 것은 저의 실수였습니다. 고맙습니다! –