2018-03-01

特定のAcceptヘッダのリクエストのときだけDoorkeeper認可チェックする

request.format.<Mime::Typeとして登録しているシンボル名>?とすれば、どのようなMIMEタイプがAcceptに入っているか判別できる。よって、次のようにすればよさそう。

before_action -> { :doorkeeper_authorize! :public }, if: :request_to_public_api?

private

def request_to_public_api?
  # たとえば v1_json というシンボル名を application/json.vnd.app.v1+json として Mime::Type.register で登録しているとすると
  request.format.v1_json?
end

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です