JWTのわかりやすい説明 by 国内No.1 ECサービス開発のすべてを語り尽くします!〜第4回ペパボテックカンファレンスEC編 - dots. [ドッツ] - http://eventdots.jp/event/573086Read less
はじめに sorceryを使用してAPIでの認証を試してみました。メールアドレス、パスワードでユーザを認証する点については公式チュートリアルや以前の記事と同様ですが、Webアプリとは異なる点も幾つかあります。何回かに分けて、その辺りを中心に書いて行きたいと思います。 今回の設計思想 通常のWebアプリとは異なり、以下のような設計思想でAPIを実装しました。 サーバはJSONを返却するものとする。合わせてリクエストURLは「〜.json」とする。 ログイン時にAccessTokenを生成し、クライアントに返却する。またAccessTokenの有効期限も設定する。 ログイン後、クライアントはリクエスト時にAccessTokenをヘッダーに付ける。サーバはAccessTokenよりユーザ情報の各チェックを行う(ログイン済みか、有効期限内か)。 ログアウトはAccessTokenを無効にすることで
モバイルアプリサービス部@モバイルバックエンドグループの五十嵐です。 これから何回かに分けてherの使い方を書いていこうと思います。 remiprev/her: Her is an ORM (Object Relational Mapper) that maps REST resources to Ruby objects. It is designed to build applications that are powered by a RESTful API instead of a database. 概要 herはActiveRecordのように振る舞うRESTfulAPIのORMです。 今回は、herを使ってOAuth2.0のClientCredentialsGrantのアクセストークンを利用するAPIにアクセスしてみます。 環境 Ruby: 2.2.4p230 Rails:
April 28, 2016An Introduction to Using JWT Authentication in Rails With the advent of Single Page Applications (SPA) and mobile applications, APIs have come to the forefront of web development. As we develop APIs to support our SPA and mobile apps, securing the APIs has been a major pain area. Token-based authentication is one of the most-favored authentication mechanisms, but tokens are prone to
Rails などのフレームワークの CSRF 対策の実装を使わず、自前で CSRF 対策を行ってみる。 そもそも CSRF とは? リクエストが「なぜ起こったか?」に関わらず、ブラウザが自動的に Cookie などのセッション情報を送信することを利用した攻撃方法。 例えば、ある人がサイト A にログインしているとする。この人がサイト B を訪問したとき、サイト B が iframe を経由してサイト A を埋め込んでいた場合、サイト A はログインされた状態で読み込まれる。 この性質を利用すれば、サイト B は、サイト A の GET リクエストでできるアクションを強制的に起こすことができる。 GET リクエストだけが危ないのかといえばそうではなく、iframe を target とした form を利用して POST リクエストも起こすことができる。 これを利用すれば、ログイン状態でデー
Ruby on RailsのWebサービスを開発していて、ちょっとリアルタイムなチャットサポートを追加したいと思ったことはないでしょうか? Googleで「Ruby on Rails リアルタイム」と検索すると(2015年7月現在)、以下のような記事がトップにヒットします。 Ruby on Railsとrubymotionでリアルタイムweb構築 - Qiita websocket-railsを使ってRailsでリアルタイムチャットを実装する方法 - インターファーム開発部ブログ 少し面倒くさそうに見える上、保存も行うとなるとまた設計が必要になってきます。 そこで今回は、Ruby on Railsで開発されている既存のアカウントシステムを利用して、Milkcocoaを使ったリアルタイムな機能を簡単に導入する方法を説明します。 どういう設計になるか 実際にどういう設計になるのか説明します。
RailsでJSONを返すAPIアプリケーションを3週間ぐらい試行錯誤しながら作成しています。少しですがノウハウも溜まってきたのでここにまとめておこうと思います。 今回のアプリケーションの構成は大体次のようになっています。 RailsはAPIサーバ(一般公開するAPIではなくSPA(シングルページアプリケーション)のサーバとしてJSONを返却する。HTMLは返却しない) クライアントサイドはAngularJSで画面遷移、Viewの描画まで管理する DBはMySql、Session管理はRedis(まだローカル開発なのであまり関係無い) チームはサーバサイド、クライアントサイドで完全に分担して二人で作成しています(自分はサーバサイド担当)。 このブログエントリーでは次のことを書きます。 APIのルーティングの設定(JSONのみ返すようにする方法) Session管理(CSRFトークンの受け渡
サーバサイドでのセッション管理はセキュリティを向上させたり、通信で無用なCookieを送らない等の意味でメリットがあります。 今回は『redis-store/redis-rails - GitHub』を使う手順のメモです! 🍣 サーバサイド/クライアントでのセッション管理のPros/Consセッションに関する説明は次のサイトがお勧めです。注意点としては次の2点と考えられます。 セッション管理の要注意点 - Qiita Rails セキュリティガイド | Rails ガイド - セッションの基礎 - Webアプリでは、接続ごとに固有の識別子(セッションID)を割り当て、一時的なidを割り振る - セッションは他のCookieと合わせて通信のたびにやり取りされる - Cookieのサイズは4 KBと厳密に定められている - セッションにおけるセキュリティのリスク - 他人のセッションを取得す
Kage (kah-geh) is an HTTP shadow proxy server that sits between clients and your server(s) to enable "shadow requests". Kage can be used to duplex requests to the master (production) server and shadow servers that have newer code changes that are going to be deployed. By shadowing requests to the new code you can make sure there are no big/surprising changes in the response in terms of data, perfo
(訳注: 2016/3/2、頂いたフィードバックをもとに記事を修正いたしました。) Ruby on Railsは最近、急激に注目を集めていますが、その原因はほとんど、この言語が斬新なテクノロジーとしてもてはやされたことと、タイミングにあります。技術的な優位性は時間の経過とともに失われますから、タイミングがよかっただけでは、一過性のブームに終わり、このムーブメントの隆盛は長続きしません。従って、「Railsがいかにして、適切な技術としての位置を維持し続けるるだけでなく、影響力とコミュニティを拡大し続けてきたのか」をより多くの人に説明していく必要があります。そして、その維持・拡大を可能にした/していく要因は、物議を醸すことさえあるRailsの基本原則にあると考えています。 この基本原則はここ10年ほどの間に進化を続けてきましたが、最も強固な柱となっているルールはやはり、公開当初から制定されてい
Releases, Offers & More Be the first to hear about our newest content, best promotions and upcoming events. Plus get 25% off your next purchase. Newsletter Sign Up Download Accounts Your email address is your account identifier. You can create a password, or just download from the links sent via email. My Orders (Resend order emails) How We're Different Hands-on instructions Solutions to real-worl
Photo by Flickr: Simon & His Camera's Photostream RubyでSeleniumを使ってスタンドアローンなブラウザテストをする方法を説明します。 テスティングフレームワークにはRSpec、SeleniumにアクセスするためにCapybaraをつかうことで簡単にテストがかけます。 メリットとして、スタンドアローンなので、ブラウザでテスト対象のページが開ければ、他の要素のサーバーのプログラミング言語やサーバーの配置場所など制約がなくテストを作成できます。 目次 必要なgemをインストールする ブラウザをインストールする テストコードを記載する 動作環境 Mac OSX 10 Yosemite Ruby 2.2.0 selenium-webdriver 2.45 chromedriver 2.15 rspec 3.2.0 capybara 2.4.4
Railsアプリケーション構築ガイド¶ 業務でRuby on Railsを利用する人のための、アプリケーション構築ガイド 最終更新日: Feb 03, 2018 Ruby on Railsは、流儀・規則に従うことで効率的なシステム開発が可能となるWebアプリケーションフレームワークです。 レールの上に乗って開発を行っているうちは、 少ないコード量で複雑なアプリケーションを 簡単に実装できる、Railsというフレームワークの強力さ、美しさを体感できるはずです。 しかし、少しでもレールから外れたアプリケーションを実装しようとすると、途端に複雑になるのも事実です。 業務アプリケーション構築の分野では、Railsの流儀とは相容れない実装を強いられる事が多々あります。 レールから外れたアプリケーションをよく考えずに実装すると、 コードが難解になり、システムのメンテナンス性が大きく下がってしまいます。
12/11(水) に目黒のリブセンスさんの勉強会スペースにて「個人開発がやりたくなるLT」を開催しました。 当日は出席率も高く40人近くの人が来てくれて、LT も個人開発に関するいろんな知見(オフレコ含む)を共有できたと思います! 懇親会もかなり盛り上がって、コミュ障な僕でも楽しく話せたのがすごく嬉しかったです。発表者&参加者の皆さんには本当に感謝です。 この記事では LT会の参加レポートと運営者としての思いを書いて行きたいと思います! 🐯 勉強会のコンセプト今回の勉強会のコンセプトは、 気軽な気持ちで個人開発について「経験談」を共有 刺激を与え合える知り合い作り でした。 特に勉強会での心理的安全性を大切にして、個人開発者が自分がやっていることを気軽に相談・共有できる知り合いができる場を作りたいと思い勉強会を開催しました。 🐡 個人開発への課題感個人開発の目的は作者さんによって様々だ
railsboxAutomate your Ruby on Rails server configuration with ansiblerailsbox helps you to start applying best DevOps practices in your project by generating ansible playbooks for configuring and deploying Ruby on Rails applications. You no longer need to edit a single configuration file on your server and use tools like capistrano for code deployments - all this comes out of the box.
はじめに これは Ruby on Rails Advent Calendar 2014 - Qiita の19日目です 18日目 @yancya さんの Rails でシングルじゃないテーブル継承 - Qiita でした 19日目:オレオレRailsアプリを支えるインフラの作り方 最近では Heroku などのPaaS*1 も普及してインフラのことを知らなくても簡単にアプリを公開することができるようになりました。 しかしトラブルシューティングやパフォーマンスチューニングなどを行うにはアプリケーションコードだけで完結することは少なく、全体像を把握する必要があります。Railsアプリケーションの裏でどんな構成で動いているかを知っておくかは重要なのでざっくりと紹介したいと思います。 書かないこと Railsアプリを作る上でのノウハウ 便利なgemや外部サービスの紹介 *2 監視 アラート検知 モ
# -*- mode: ruby -*- # vi: set ft=ruby : # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # All Vagrant configuration is done here. The most common configuration # options are documented and commented below. For a complete reference, # please see the online documentation at vagrantu
インストール Chocolatey Windowsのパッケージ管理ツール。 @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin Ruby choco install ruby Ruby Development Kit choco install ruby.devkit Ruby on Rails gem install rails --no-ri --no-rdoc 確認 C:\>rails --version DL is deprecated
Rails Style Guideに載っていることが分かれば大体Rails書ける気がしました。もちろん実際に書けるというのと、知識として知るのは全く別のことだと思うのですが、知識としては要点がかなりおさえられている気がしました。 Rails Style Guideで言っていることが分かれば大体分かってる もちろんRails Style Guideは個々の単語(ActiveRecordとかMigrationとか)が分かっている前提で書いてあるので、その分のハードルは高いのですが、逆にここで書いてあることが理解できれば大体Railsのコードが書けるし読めるという到達点が示されている、と捉えることもできます。 昔流行った遅延学習法の話に遡るわけでもないのですが、1から積み上げで勉強していくのも退屈だし、0の段階からいきなりコードを書くのも若干ハードです。何より、知識としてどこまで学べば良いのか分
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く