2015-01-16 1 views
1

Я реализую собственный внешний поставщик удостоверений, и для этого мне нужно реализовать класс ExternalIdentityProvider от jackrabbit.Как получить объект запроса HTTP в классе, реализующем jackrabbit ExternalIdentityProvider

http://jackrabbit.apache.org/oak/docs/security/authentication/externalloginmodule.html

В нормальном случае вам нужно будет пройти j_username и j_password, и вы можете получить их от значений, SimpleCredentials объекта

Мой вопрос заключается в том, что, так как мне нужно, чтобы передать дополнительный параметр формы говорят, например, к LinkedIn ID в моем случае, как мне это достичь?

@Component(
      policy = ConfigurationPolicy.REQUIRE 
    ) 
    @Service 
    public class RDBMSIdentityProvider implements ExternalIdentityProvider { 

    @Override 
    public ExternalUser authenticate(Credentials credentials) 
      throws ExternalIdentityException, LoginException { 
      //i can get username/password from credentials object 
      //how to get additional parameters from http request object? 
    } 

Любые данные приветствуются.

Спасибо!

ответ

0

Правильный способ справиться с этим - создать пользовательский AuthenticationHandler, который создает экземпляр определенного объекта Credentials с любыми параметрами, которые вам нужны.

При этом, если вы интегрируетесь с LinkedIn (и это в AEM), вам будет лучше обслуживать интеграцию с существующим OAuth AuthenticationHandler. Существует поддержка OOTB для Facebook и Twitter, но поставщик OAuth предназначен для подключения к различным поставщикам услуг OAuth.

 Смежные вопросы

  • Нет связанных вопросов^_^