はじめに Railsでpreflightリクエストの処理を実装する機会があったのでまとめてみました。 preflightリクエストとは CORS(Cross-Origin Resource Sharing)という、originをまたいだAjax通信の際に発生するリクエストのことです。 発生条件など、詳しくは以下のサイトで述べられているので、このエントリでは詳しく解説しません。 実装例 RailsでJSON形式のAPIを作成しているとして、/api以下のアクセスに対して異なるoriginからのアクセスを許可したいとします。 Controller class Api::BaseController < ApplicationController before_action :validate_http_origin private def validate_http_origin reques
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? いま個人で開発を行っているWebサービスがありまして、そこではバックエンドをRubyonRails、フロントエンドをClojure & ClojureScriptで開発し、APIでお互いやりとりするように設計しています。(その設計した理由は色々ありますが、単純に好きな2つの言語を使いたかったのが大きな理由の一つですw) おそらくこれからのアプリケーション開発において、このようにフロントエンドとバックエンドをサーバーも言語も分けて設計・開発することが多くなると思いますので、最近ハマった問題をシェアしておきます。 同一生成元ポリシー(Sam
base_controller.rb {�R�U class API::V1::BaseController < ApplicationController skip_before_filter :verify_authenticity_token before_filter :cors_preflight_check after_filter :cors_set_access_control_headers def cors_set_access_control_headers headers['Access-Control-Allow-Origin'] = '*' headers['Access-Control-Allow-Methods'] = 'POST, GET, PUT, DELETE, OPTIONS' headers['Access-Control-Allow-Heade
Internet Engineering Task Force (IETF) M. Jones Request for Comments: 6750 Microsoft Category: Standards Track D. Hardt ISSN: 2070-1721 Independent October 2012 The OAuth 2.0 Authorization Framework: Bearer Token Usage Abstract This specification describes how to use bearer tokens in HTTP requests to access OAuth 2.0 protected resources. Any party in possession of a bearer token (a "bearer") can u
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? TL;DR HTTP でトークンを利用した認証・認可をする手法として RFC 6750 がある OAuth に限らず、トークンを利用して認証・認可する機構の一部として Authorization: Bearer ヘッダを使うことができる 使い方について詳しくはこの記事の下のほうに書いた 要求 トークンを利用した認証・認可機構を持つ API を作りたい クライアントがトークンを HTTP リクエストに含めて送信し、サーバはトークンを検証してリソースへのアクセスを許可したい Authorization: Bearer トークン ヘッダでトー
jsonapi-resourcesはこちら cerebris/jsonapi-resources: A resource-focused Rails library for developing JSON API compliant servers. 下準備 インストールまで いつものなのでサクサクいきます。 $ bundle init # Gemfile source 'https://rubygems.org' gem 'rails', '5.0.0.rc1' $ bundle install $ bundle exec rails new . --api # 上書きを確認されるので適当にYesしておく # Gemfile # 以下を追記。 # rubygemsにあるのだとRails5に対応していないのでgithubから取得していることに注意。 gem 'jsonapi-resourc
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く