Я много читал об OAuth2, пытаясь разобраться в этом, но я все еще что-то путаю.
Я понимаю, что клиент авторизуется у поставщика OAuth (например, Google) и позволяет серверу ресурсов иметь доступ к данным профиля пользователя. Затем клиент может отправить токен доступа на сервер ресурсов и получить его обратно.
Но то, что не рассматривается в какой-либо документации, - это то, что происходит, когда клиентское приложение запрашивает ресурс у сервера ресурсов и передает ему токен доступа. Все, что я прочитал до сих пор, говорит о том, что сервер ресурсов просто отвечает запрошенным ресурсом.
Но это кажется огромной дырой: сервер ресурсов должен каким-то образом проверять токен доступа, в противном случае я могу просто подделать любой старый запрос и передать старый, украденный, поддельный или случайно сгенерированный токен, и он просто примет его.
Может ли кто-нибудь указать мне на простое объяснение OAuth2, потому что те, которые я прочитал, пока не полны.
Проверка токена обычно выполняется одним из двух способов.
1) Токен криптографически подписан с использованием предварительно общих ключей. Это имеет очевидные недостатки для использования в распределенных, разрастающихся системах.
2) Сервер авторизации (AS) предоставляет конечную точку для проверки токена или самоанализа. Этот метод был стандартизирован в IETF RFC 7662 в октябре 2015 года, см. Https://tools.ietf.org/html/rfc7662.
Этот вопрос / ответ о переполнении стека включает примеры от Google и Github: /programming/12296017/how-to-validate-an-oauth-2-0-access-token-for-a-resource-server
источник
вы читаете спецификацию для проверки токена:
https://tools.ietf.org/html/rfc7662
надеюсь, это поможет - пожалуйста, отметьте это как ответ, если он отвечает на ваш вопрос / проблему
источник