Мне интересно, почему спецификация OAuth2 не определяет режим ответа JSON для возврата токена доступа в неявном потоке предоставления. Не потому ли, что не было времени согласовать это и уточнить? Или возврат токена доступа в формате JSON открывает определенные уязвимости в системе безопасности? Если это так, было бы интересно узнать, какие именно (я подозреваю, что возврат JSON в теги вредоносных скриптов можно смягчить, проверив заголовок запроса ContentType или RequestedWith).
Существует широкий спектр современных приложений javascript, которым необходимо обновить токен доступа. Обычно это необходимо, когда разрешения для защищенных ресурсов часто меняются (например, когда некоторые пользователи предоставляют разрешения другим пользователям для ресурсов, которыми они владеют). В этом случае необходимо получать токен доступа каждый раз при доступе к защищенным ресурсам.
В настоящее время спецификация OAuth2 предоставляет 2 режима ответа: фрагмент и сообщение формы (в черновике). Фрагмент ответа требует перенаправления, которое не является дружественным для пользователя. Также возможно опубликовать форму с методом GET в скрытом iframe, который вызовет обратный вызов кода javascript, который передаст токен доступа в родительское окно. Но это довольно хакерский подход с точки зрения разработки.
Было бы намного чище просто вернуть токен доступа в формате JSON через запрос AJAX, учитывая, что это не поставит под угрозу безопасность.