2015-03-10 5 views
0

Мне нужно реализовать поток утверждения SAML с использованием сервера авторизации Spring OAuth2. Я изо всех сил пытаюсь связать эти два проекта. Я также попытался импортировать SAML securityContext в мой проект OAuth, однако кажется, что поток SAML всегда будет иметь приоритет. Есть ли способ сделать это, когда он будет смотреть на тип grant_type, чтобы определить, должен ли он использовать поток saml.Реализация потока утверждения SAML с помощью Spring Oauth2

Кроме того, когда он обрабатывает утверждение saml, будет ли он связываться с ResourceOwnerPasswordTokenGranter, или мне нужно будет зарегистрировать собственный маркер для токенов с чем-то вроде этого?

With OAuth2, we have a way of registering different TokenGranters through something like this: 

List<TokenGranter> tokenGranters = new ArrayList<TokenGranter>(); 
    tokenGranters.add(endpoints.getTokenGranter()); 
    tokenGranters.add(new SamlTokenGranter(authenticationManager,tks,cds,endpoints.getOAuth2RequestFactory())); 
    CompositeTokenGranter ctg = new CompositeTokenGranter(tokenGranters); 
    endpoints.tokenGranter(ctg); 

благодаря заранее за любую помощь вы можете предоставить

ответ

0

Вам может понадобиться зарегистрировать пользовательские TokenGranter. CompositeTokenGranter (по умолчанию) может обрабатывать несколько типов грантов, выполняя то, что вы предлагаете (сравнение входящего запроса grant_type с тем, которое поддерживается каждым сортировщиком). Если вы используете Spring SAML в качестве поставщика услуг для проверки утверждения, то, как я полагаю, вам также необходимо установить его как отдельный фильтр безопасности в конечной точке/токена (с помощью очень специфического запроса, чтобы он только перехватывал гранты SAML).

+0

P.S. Мне было бы очень интересно увидеть, как это работает, поэтому, пожалуйста, продолжайте и, возможно, мы сможем поделиться результатом через рамки (ы). –

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