Для построения своих услуг я использовал сервис lifeary. некоторые из моих сервисов требуют, чтобы пользователь прошел аутентификацию, прежде чем он сможет их использовать.
как мне сгенерировать токен авторизации и отправить его в заголовок или в URL?
Я пробовал имя пользователя@host.com: пароль @ http://localhost:8080/PortletName-portlet/api/jsonws/?serviceClassName=com.service.NameServiceUtil&serviceMethodName=getMyNames&serviceParameters=[userid]&userid=1
и это не сработало!
Я убедился, что добавил строку ниже в мои portal-ext.properties и перезапустил сервер.
json.service.auth.token.enabled=true
Что еще я должен сделать, чтобы иметь возможность передать Auth Token? Есть ли лучший метод, который я могу использовать?
Вы действительно хотите использовать AuthVerifier.Это лучший способ получить доступ к Liferay API и пройти аутентификацию.Это похоже на концепцию autologin.
Взгляните на https://dev.liferay.com/es/discover/deployment/-/knowledge_base/7-0/authentication-verifiers и проверьте класс PortalSessionAuthVerifier в исходном коде.
PortalSessionAuthVerifier
Концепция довольно проста.Прочитайте объект запроса и определите, кто пользователь.Выполните пользовательскую аутентификацию и верните результат аутентификации с идентификатором пользователя.