6.4. Положения об обеспечении безопасности доступа к защищенным ресурсам
6.4.1. Конечные точки ресурсов возвращают клиенту защищенную информацию владельца ресурса, связанного с предъявленным токеном доступа.
6.4.2. Сервер ресурсов, предоставляющий доступ к данным в соответствии с настоящим стандартом:
1. Должен принимать токены доступа в HTTP-заголовке в соответствии с подразделом 2.1 RFC6750 [19].
2. Не должен принимать токены доступа в параметрах запроса, указанных в подразделе 2.3 RFC6750 [19].
3. Должен проверять, что срок действия токена доступа не истек и токен доступа не отозван.
4. Должен проверять, что область действия (параметр <scope>), связанная с предъявленным токеном доступа, разрешает доступ к ресурсу, который он представляет.
5. Должен идентифицировать объект, связанный с токеном доступа.
6. Должен возвращать только ресурс, идентифицированный комбинацией объекта, подразумеваемого в доступе, и разрешенной области действия, соответствующей объекту, иначе возвращать ошибку в соответствии с разделом 3.1 RFC6750 [19].
7. Должен кодировать ответ в UTF-8.
8. Должен отправлять параметр <Content-Type> HTTP-заголовка в виде "Content-Type: application/JSON".
9. Должен отправлять дату сервера в заголовке HTTP <Date> в соответствии с подпунктом 7.1.1.2 RFC7231 [50].
10. Должен устанавливать в качестве значения заголовка ответа <x-FAPI-interaction-id> значение, полученное из соответствующего заголовка запроса клиента, либо значение UUID, если заголовок запроса не предоставлялся для отслеживания взаимодействия, например, "x-FAPI-interaction-id: c770aef3-6784-41f7-8e0e-ff5f97bddb3a".
11. Должен регистрировать значение <x-FAPI-interaction-id> в записи журнала регистрации событий.
12. Не должен отклонять запросы с заголовком <x-fapi-customer-ip-address>, содержащим действительный IPv4- или IPv6-адрес.
Примечания:
1. Форматы и алгоритмы формирования UUID определены в RFC 4122 [51].
2. Для получения информации об объекте, связанном с токеном доступа и предоставленной областью действия, сервер ресурсов может использовать протокол интроспекции токена, описанный в RFC 7662 [48]. В случае его реализации следует выполнить анализ его безопасности.
6.4.3. Клиент, реализующий доступ к защищенному ресурсу в соответствии с требованиями данного стандарта:
1. Должен отправлять токены доступа в заголовке HTTP в соответствии с положениями пункта 4.3.1 RFC7231 [50].
2. Может отправлять последнюю дату регистрации пользователя в клиенте в заголовке <x-FAPI-auth-date>, причем значение предоставляется в формате HTTP-даты; например, "x-FAPI-auth-date: Tue, 11 Sep 2012 19:43:31 GMT".
3. Может отправлять в заголовке <x-FAPI-customer-ip-address> IP-адрес пользователя, если эти данные ему доступны; например, "x-FAPI-customer-ip-address: 198.51.100.119".
4. Для синхронизации записей журналов регистрации клиента и сервера ресурсов может отправлять серверу заголовок <x-FAPI-interaction-id> запроса, значением которого является UUID; например, "x-FAPI-interaction-id: c770aef3-6784-41f7-8e0e-ff5f97bddb3a".