タグ

2019年4月3日のブックマーク (16件)

  • Rails5 APIで認証付きのWebAPIを作ってみる - Qiita

    はじめに Railsもバージョン5になってから、Web APIを簡単に作れるような仕組みが色々増えました。 認証周りの仕組みもRailsは、手軽にできるようになっているみたいなので試してみます。 使用ソフトウェアのバージョン情報 ruby 2.4.1p111 (2.3でも動作確認しました) Rails 5.1.3 (5.0.1でも動作確認しました) 記事の中でcurlを使ってますが、RESTクライアントって種類のプラグインがChromeなどではいくつか公開されているので、そちらを使ってみてもいいかもしれません。 準備(アプリケーションの土台を作る) まずはアプリケーションの土台を作ります。主に作るのは2つのリソース(MemoとUser)です。 Memoが認証で守りたいリソースで、Userはログイン情報とかを持っているリソースという設定です。 下記のコマンドを順番に実行してください。 $ r

    Rails5 APIで認証付きのWebAPIを作ってみる - Qiita
  • doorkeeper で リフレッシュトークンの仕組みを使う - kitak blog

    こんにちは。バナナをべています、きたけーです。 doorkeeper で Resource Owner Password Credentials flow を試してみた - きたけーTechブログ の続きで、アクセストークンの有効期限の設定+リフレッシュトークンの仕組みをつかってみたのでメモ。 アクセストークンの有効期限 悪意のある何者かにアクセストークンが漏洩した場合を考えて、アクセストークンに有効期限を設定しておくことで悪意のある操作が可能な期間を限定することができる。 リフレッシュトークンの仕組み 有効期限が切れるときに再びアクセストークンを発行するためにユーザーにログインさせるのもアレなので、リフレッシュトークンという仕組みが用意されている。 最初にアクセストークンを取得するときに、同時に発行されるリフレッシュトークンを保持しておいて、期限が切れる(切れた)タイミングで、そのリフ

    doorkeeper で リフレッシュトークンの仕組みを使う - kitak blog
  • アクセストークンのリフレッシュ

    アクセストークンのリフレッシュ Kii Cloud では、OAuth 2.0 の リフレッシュトークン をサポートしています。リフレッシュトークンを使うと、ユーザビリティを損なうことなくアクセストークンの有効期限を短く設定できます。 Kii Cloud へのリクエストでは、アクセストークンが毎回ネットワーク上に送出されているため、漏洩とそれによる不正操作のリスクが伴います。この対策のため有効期限を短く設定したい一方、頻繁なユーザー名とパスワードの再入力はユーザビリティを損なうため避けたいところです。リフレッシュトークンを使うと、内部的にアクセストークンを再発行できるため、この問題を解決できます。 以下にリフレッシュトークンを使用した場合の動きを示します。リフレッシュトークンがネットワーク上を流れる回数は、アクセストークンに比べて少なくてすむため、漏洩の観点からは相対的に安全性が高まります。

  • Refresh Token: どのような場合に使用し、どのように JWT と相互作用するか

    Auth0 Marketplace Discover and enable the integrations you need to solve identity Explore Auth0 Marketplace 書では OAuth2 で定義されたRefresh Tokenの概念について学びます。また、Refresh Tokenと他のトークンタイプを比較して、その理由と方法を学びます。さらに、簡単な例を使ってRefresh Tokenの使い方について説明します。それでは、始めましょう! 更新: 書を書いた時点では、Auth0 は OpenID Connect 認証を取得していませんでした。書では access token のような用語の一部は仕様に準拠しませんが、 OAuth2 仕様には準拠しています。OpenID Connect は access token (Authoriz

    Refresh Token: どのような場合に使用し、どのように JWT と相互作用するか
  • OAuth 2.0 の仕組みと認証方法

    OAuth 2.0 の仕組みと認証方法について説明します。OAuth 1.0 の認証フローとそれらの問題点から、OAuth 2.0 の認証フロー、認可コード、アクセストークン、リフレッシュトークンまで網羅します。

    OAuth 2.0 の仕組みと認証方法
  • アクセストークンに有効期限を設けるべきかどうか - Qiita

    OAuthプロバイダを提供することになったとして、アクセストークンに有効期限を設けるべきかどうかについて考えたい。OAuth 2.0の仕様にはアクセストークンの期限切れに関係する仕様が定義されているし、セキュリティをより強固にするためにアクセストークンは一定期間で期限切れにするべきだという主張があったと思う (確認していないので無いかもしれない)。しかしながら、例えばGitHub API v3ではアクセストークンに有効期限を設けていない。この投稿では、アクセストークンの有効期限に関係して起こり得る問題を取り上げる。 アクセストークンに有効期限を持たせておくとちょっと安全 アクセストークンが悪意のある第三者に漏洩してしまった場合、そのアクセストークンに認可されているあらゆる操作が実行可能になってしまうという問題がまず存在する。ここでもしアクセストークンに有効期限が存在していたとすれば、その操

    アクセストークンに有効期限を設けるべきかどうか - Qiita
  • Web制作者のためのおすすめChrome拡張15

    2018年1月16日 Webサイト制作, 便利ツール 普段使っているChromeをより便利にしてくれる拡張機能。私も様々なものを入れていますが、その中でもWeb制作時に使える便利拡張をいくつか紹介します。Firefoxに対応しているものもありますよ! ↑私が10年以上利用している会計ソフト! Web Developer Chrome拡張|Firefox Add-on|GitHub|公式サイト Webに携わる人は入れておいて損はない拡張のひとつ!長年利用させていただいてます。1クリックでCSSJavaScriptを無効化したり、画像の非表示、様々なデバイスサイズでの表示、クラスやID名の表示、定規やカラーピッカーまで揃っています!カラーピッカーはCSSで定義されたものだけでなく、画像からも抽出できるのがすごい。日語版もあるので試してみてくださいね。 CSS Peeper Chrome拡張

    Web制作者のためのおすすめChrome拡張15
  • Chrome DevToolsを使いこなそう! Web開発に必須なブラウザ開発ツールによるデバッグの基本 - エンジニアHub|若手Webエンジニアのキャリアを考える!

    Chrome DevToolsを使いこなそう! Web開発に必須なブラウザ開発ツールによるデバッグの基 開発者ツール(DevTools)とは、ブラウザに搭載されているデバッグツールです。多岐にわたる技術の集合体であるWebページやWebアプリケーション、いわゆるフロントエンドの開発において、なくてはならないツールです。 皆さん、どうもこんにちは。今回で3度目のエンジニアHubの登場となる大竹智也です。春の季節もそろそろ終わりを迎え、新生活を迎えた人たちも新たな環境に慣れてくる時期だと思いますが、元気にお過しでしょうか。 前回までエディタの話ばかりしてきましたが、今回はエディタから離れてWebブラウザ(以下、ブラウザ)の話をしたいと思います。ただ、ブラウザの話といっても、エンジニアHubは開発者向けの媒体なので、ブラウザに搭載されている開発者ツール(Developer Tools)のお話を

    Chrome DevToolsを使いこなそう! Web開発に必須なブラウザ開発ツールによるデバッグの基本 - エンジニアHub|若手Webエンジニアのキャリアを考える!
  • Loading...

  • Google App Engine for PHPからGoogleスプレッドシートに読み書きする - Qiita

    Google App Engine for PHPGoogle Drive APIを使う』の続きです。Google App Engine for PHP(GAE/PHP)からGoogle Driveに保存してあるスプレッドシートに読み書きする方法です。これによってスプレッドシートをデータベースのように使用することができます。またGoogleスプレッドシートはGoogle Driveの容量にカウントされないため、好きな分だけ使用することができます。 1. Googleスプレッドシートの作成 Google Driveへアクセスしてスプレッドシートを作成します。 ブラウザ上でスプレッドシートを開きます。1行目にid、name、ageと入力し、2行目以降は適当なデータを入力します。 スプレッドシートを開いた状態でのブラウザのURL欄は https://docs.google.com/sprea

    Google App Engine for PHPからGoogleスプレッドシートに読み書きする - Qiita
  • [Git] .gitignoreの仕様詳解 - Qiita

    対応バージョン この記事の内容は、少なくともGitのバージョン2.19.1までは対応している。 もし最新のGitで新しい動きがあれば随時更新する。 基 .gitignoreを使うと無視する(Gitのトラッキングの対象外とする)ファイル or ディレクトリを指定できる。 .gitignoreは複数のディレクトリに置くことができる。 深い階層の.gitignoreに書かれた指定の方が優先順位が高い。(後に解釈される) .gitignore内の記述は上の行から順に以下のように解釈される。 /を含まない行(fileなど) .gitignore以下の全サブディレクトリ下にあるこの名前のファイル or ディレクトリを無視する 末尾以外にのみ/を含む行(/file, /path/to/file, path/to/fileなど) .gitignoreが置いてあるディレクトリをカレントディレクトリとする相

    [Git] .gitignoreの仕様詳解 - Qiita
  • プログラマが知るべき97のこと

    プログラマが知るべき97のこと大人気の書籍『プログラマが知るべき97のこと』のエッセイを無料で公開中!すべてのプログラマにおすすめのがウェブで読めるようになりました。 エッセイ一覧分別のある行動関数型プログラミングを学ぶことの重要性ユーザが何をするかを観察する(あなたはユーザではない)コーディング規約を自動化する美はシンプルさに宿るリファクタリングの際に注意すべきこと共有は慎重にボーイスカウト・ルール他人よりまず自分を疑うツールの選択は慎重にドメインの言葉を使ったコードコードは設計であるコードレイアウトの重要性コードレビューコードの論理的検証コメントについてのコメントコードに書けないことのみをコメントにする学び続ける姿勢誰にとっての「利便性」かすばやくデプロイ、こまめにデプロイ技術的例外とビジネス例外を明確に区別する1万時間の訓練ドメイン特化言語変更を恐れない見られて恥ず

    プログラマが知るべき97のこと
  • Herokuでアップロードした画像が時間経つと消える問題 - Qiita

    フォームで画像を投稿できる機能を作って、 画像を投稿した直後は普通に表示されるけど、 一定時間が経つとなぜか画像が消えてしまう。 原因 一定時間が経つと、Heroku上のリポジトリ (Dyno) が最後のコミットの状態にリセットされるから。 対処法 ①クラウドストレージ もっとも一般的なのは、AWS Amazon S3などのクラウドストレージに画像を保存する方法。 クラウドストレージとは、プログラムを通して画像を外部のサーバ(クラウド)にアップロードし、そのURLを取得できるサービス。 比較的簡単に実装できますが、画像の量によってはお金がかかります。 Railsの場合: https://qiita.com/hmmrjn/items/479c9e9ce82771f1b6d7 ②データベースに保存 データベースに画像のバイナリデータを保存し、画像を表示するための関数などを用意する方法もあります

    Herokuでアップロードした画像が時間経つと消える問題 - Qiita
  • RubyMineでRspecが動かない

    RubyMine7.1.4 ruby-2.2.3-p173 SDK の環境で開発をしています。 test_spec.rb(仮)にテストケースを書いて、RubMineでテストをしようとしましたが 下記のエラーでRspecの起動に失敗してしまいます Error running Test: test: Cannot find RSpec runner script for ruby-2.2.3-p173 SDK PreferenceのRuby SDK and Gems でruby-2.2.3-p173が選択されていることと 試しにプロジェクト下で gem install rspecをしたので gemsの一覧には rspec(3.3.0)と表示されていました。(エラーは修正できませんでした) RubyMine上でGemfileを作成し、Bundle installした後も同じエラーがでます。 ター

    RubyMineでRspecが動かない
  • RSpecの(describe/context/example/it)の使い分け - Qiita

    概要 なかなか使い分けする基準が理解できなかったけど、 こういうことかという考えが出てきたのでメモ。 使い分け方 テストの流れを端的に言うと、 機能、クラス、メソッドなどのテストの対象に対して、 特定の条件で実行してみて、 期待するアウトプットが返ってくるかを調べる、 ということになる。 ここで出てきたテストの対象と特定の条件とアウトプットに注目して、 (describe/context/example/it)の使い分けを行う。 describeには、テストの対象が何かを記述する。 contextには、特定の条件が何かを記述する。 exampleとitには、アウトプットが何かを記述する。日語で記述するときはexampleを使う。it "is 〜やit { should be 〜 }のような形で書きたい場合はitを使う。 describe 'テストの対象' do context '特定の条

    RSpecの(describe/context/example/it)の使い分け - Qiita
  • RubyMineでRSpecを実行する小技 - Qiita

    RubyMineでRSpecを使う際、設定しておくと便利な小技を紹介します。 Springを利用する Rails 4.1 からデフォルトになっているプリローダで、もうないと我慢出来ないぐらいです。 RubyMineで使いたい場合は、下記で設定できます。 auto test RSpecなどのテストを実行したら、下記の実行結果が表示されますが、左には「Toogle auto-test」のスイッチがあります。 これを活性化すると、保存する都度 前回の実行したテスト が自動で実行してくれます。 厳密に言いますと、「保存する都度」のではなく、一定の間隔でファイルの変更があるかどうかを検出するのです。 その間隔は最短1秒までに設定できます。 run context configuration 保存すると自動でテストを実行してくれるのは楽ですが、実際の開発ではよく 「このexampleだけ」とか「このc

    RubyMineでRSpecを実行する小技 - Qiita