Я использую grape
, grape-swagger
и grape-swagger-rails
, чтобы настроить API для моего проекта Rails 4.2.1. Это будет внутренний API, поэтому я хочу, чтобы разработчики имели доступ к нему, но не к широкой публике. Каков наилучший способ сделать это?Требуется авторизация для документации Swagger
Моя первоначальная идея состояла в том, чтобы использовать поле api_key
, которое вы можете установить в swagger-ui
, но я не могу найти правильный способ доступа к нему внутри корневого API-генератора для Grape.
Я также думал, что могу попытаться смонтировать конечную точку для документации, если пользователь является администратором (мы используем Devise), но это не скрывает сама документация (если кто-то знает ссылку swagger.json
).
Как люди справлялись с этой проблемой в прошлом?
На самом деле я не мог получить доступ к 'api_key' в' params' внутри инициализатора. Я не хочу объявлять его как параметр для каждого метода API. –
Я не имел в виду доступ к 'api_key' в одном из ваших инициализаторов, а в блоке' before' в 'app/api/name/api.rb'. Таким образом, нет необходимости объявлять его как параметр для каждого метода API. – Brozorec