# Redirect URL

## Redirect URL Registration

Сервер должен обязывать разработчика зарегистрировать один или несколько Redirect URLs для приложения. Сервер авторизации никогда не должен перенаправлять пользователя на другие Redirect URLs, не указанные при регистрации клиента.

### Valid Redirect URLs

Redirect URLs могут содержать query-параметры, но не должны содержать ничего в поле `fragment`. Сервер регистрации должен отклонить попытку зарегистрировать клиент с использованием фрагментов в urls. (Возможно, это как-то связано с тем, что сервер может вернуть access-токен или authorization code через фрагменты, в том случае, если клиент — это мобильное приложение или десктоп клиент)

Часто разработчик думает, что ему нужно иметь возможность использовать другой Redirect URL для каждого запроса авторизации, и пытается изменить query-параметры для каждого запроса. Это не является предполагаемым использованием Redirect URL и не должно разрешаться сервером авторизации. Сервер должен отклонять любые запросы авторизации с Redirect URLs, которые не являются точным совпадением с зарегистрированным Redirect URLs.

Если надо передать какую-то информацию с Redirect URL, для этого есть параметр `state`.

### Когда проверяем Redirect URLs

* Разработчик регистрирует приложение
* В запросе авторизации (authorization code или implicit grant type)
* Приложение меняет authorization code на access-токен
