2015-02-20 1 views

ответ

1

Сервер авторизации должен выполнять только перенаправление, если redirect_uri соответствует зарегистрированному клиентом. Поэтому вам не нужно будет выполнять отдельную проверку.

Если у вас есть сомнения, попробуйте отправить запрос авторизации совершенно другим redirect_uri и посмотреть, что произойдет.

+0

Благодарим вас за ответ. Но как сервер авторизации проверяет, соответствует ли redirect_uri одному зарегистрированному клиентом? –

+1

Если вы хотите узнать больше о деталях, вы всегда можете [взглянуть на код] (https://github.com/spring-projects/spring-security-oauth/blob/master/spring-security-oauth2/src /main/java/org/springframework/security/oauth2/provider/endpoint/DefaultRedirectResolver.java#L112). –

+0

Да, поэтому в соответствии с исходным кодом сервер авторизации должен реализовать этот метод, чтобы проверить, соответствует ли запрошенный URI перенаправления указанному URI перенаправления, используя этот метод: redirectMatches (String requestRedirect, String redirectUri) –

0

Должен быть реализован класс ClientDetailsService и настроить зарегистрированные перенаправления uri.

@Service 
@Transactional 
public class CustomClientDetailsService implements ClientDetailsService { 

    @Override 
    public ClientDetails loadClientByClientId(String clientId) { 

     String registeredRedirectUris; // Get registeredRedirectUris 

     BaseClientDetails clientDetails = new BaseClientDetails(); 
     clientDetails.setRegisteredRedirectUri(registeredRedirectUris); 

     return clientDetails; 
    } 
}