OAuth 2.0 の仕組みと認証方法について説明します。OAuth 1.0 の認証フローとそれらの問題点から、OAuth 2.0 の認証フロー、認可コード、アクセストークン、リフレッシュトークンまで網羅します。
node-auth-server Authorization Server by node reffrences ref1: here ref2: here ref3: here here source code github Getting Stated install mongoDB(mac) # install brew install mongodb # mongoDB auto start ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Google プロジェクトが作成済み且つ、OAuth同意画面が設定済みという前提で説明を進めます。 Google Developers consoleにアクセスしAPI Managerで新しい認証情報を作成します。 図の様に作成する認証情報にOAuthクライアントIDを選択します。 アプリケーションの種類に"ウェブアプリケーション"を選択します。 "名前"、"承認済みのJavaScript生成元"、"承認済みのリダイレクトURI"を入力します。 承認済みのJavaScript生成元 : http://localhost:9000 承認済みのリダイレクトURI : http://localhost:9000/google/callback (モザイクをかけていますが)図のようにクライアントIDとクライアントシークレットが発行されます。 Facebook 開発者向けFacebookにアクセスし
はじめに 使用するもの Eclipse Gradle 認証サーバここで作成したもの install Eclipse Market Placeから Gradle IDE Pack Spring Tool Suite Project setup project作成 Eclipse - File - New - Project... Gradle - Gradle Project Project nameに任意の名前、Sample ProjectにJava Quick startを選択 不要なパッケージの削除 src/main/java 配下 src/main/resources 配下 src/test/java 配下 src/test/resources 配下 gradleより依存パッケージのインストール package version情報を外出しするため、project直下にgradle.p
Spring BootでOAuthログインを実現するには、Spring Security OAuthを利用するわけですが、 あまりドキュメントがなかったので備忘録を兼ねてメモっておきます。 とはいえ、大体は以下のページに書いてあるとおりですが。 この記事では、まずOAuthでのログインを実現した後、AngularJSなどのアプリケーションから利用される想定のAPIを作成し、そのAPIにユーザー権限によるアクセス制限を掛けるまでの手順を記載します。 要するに、動的画面遷移を中心に組み立てられたSPAっぽいアプリケーションで、ログインと認可を実現する方法をメモっておきます。 Spring Bootアプリケーションの作成 Spring Bootアプリケーションの作成には幾つか選択肢がありますが、ここではある程度スクラッチで作ることにします。 実際は、Webページ上から雛形プロジェクトをサクッと作
前回の『Facebook に接続』で、Spring Social を使い Facebook との接続(Connection)を確立しました。今回は、確立した Connection をローカルユーザーアカウントと紐付けて DB で管理する部分を作ります。 ConnectionRepository と UsersConnectionRepository 前回のような直球型では、アプリケーションを起動する度に facebook との“OAuth2 ダンス”が必要になります。一度確立した Connection オブジェクトを永続化し、再利用する仕組みを用意すれば、そうした手間がなくなります。 Spring Social リファレンスの“2.3 Persisting connections”を読むと Connection 管理の中核は、永続化された各(ローカル)ユーザーの Connection オブ
はじめに ついに Windows 8 にした。 XP のサポートが終了したというのもあったのだけれども Java 8 がインストールできなかったのが致命的だった。 .Net Framework 4.5 や PHP 5.5 このあたりが使えなくなったのは耐えていたのだけれど この春、Java に見捨てられてもう我慢できなくなった。 Java 8 が使えたらきっと今も XP 使ってると思う。 で、OAuth わたしにとって OAuth といえば Facebook なのですが 以前、Facebook のアプリを作る機会があり OAuth の認証処理に結構悩まされた。 リクエストが行ったり来たり、どのタイミングでが何が送られて来るのか?また何を送るのか? と同時に向こう側の処理はどうなっているんだ!? 相手を知ればこちら側の処理がもっと明確に見えてくるのではと思ったりした。 そんな訳で今回は、Sp
OAuth2.0まとめ speakerdeck はこちら↓ https://speakerdeck.com/satot/jin-geng-wen-kenaioauth2-dot-0#Read less
3. OAuthとは • あるサービス(SP:Service Provider)が提供するAPIへのアクセ ス権を、他のサービス(Consumer)に与えるためのプロトコル • アクセス権限の付与のためのプロトコルであって、認証のた めのプロトコルではない • アイデンティティ関連の各種技術が依って立つプロトコル (OAuth 2.0) – OpenID Connect:認証、フェデレーション – SCIM:プロビジョニング – UMA:アクセス権制御 ※ SCIM: System for Cross-‐domain IdenGty Management ※ UMA: User Managed Access 4. OAuthとは • OAuth 2.0 は 2012年10月にRFCに – RFC 6749 -‐ The OAuth 2.0 AuthorizaGon Fr
This guide shows you how to build a sample app doing various things with "social login" using OAuth 2.0 and Spring Boot. It starts with a simple, single-provider single-sign on, and works up to a client with a choice of authentication providers: GitHub or Google. The samples are all single-page apps using Spring Boot and Spring Security on the back end. They also all use plain jQuery on the front
=== 追記 2017年6月9日 === この記事は Google OAuth を利用し、 自分のウェブアプリケーションに「OAuth 認証」させようという記事です。 OAuth 2.0 は本来、認証(Authentication)ではなく認可(Authorization)を行うための枠組みです。 そのあたりの知識が曖昧な時期に「OAuth 認証」のための記事を書いたため、 いま見ると古びていて、認識が間違えているところもあるかと思います。 OAuth 2.0 のきちんとした知識については、@TakahikoKawasaki 先生の記事を参考にしてください。 OAuth 2.0 全フローの図解と動画 OAuth 2.0 + OpenID Connect のフルスクラッチ実装者が知見を語る 【第二弾】OAuth 2.0 + OpenID Connect のフルスクラッチ実装者が知見を語る =
CentOSにPHPのとりあえずの開発環境を作成してみる の続き PHPでGoogleのOAuthを試してみる。 【参考】 Google OAuth + PHP でログイン処理の実装 http://temog.info/archives/programming/google-oauth-php.html OAuth2.0でGoogleに接続するphpエージェントを作る(2) | ペンクおじさんのエンジニアブログ - Penq Inc. http://penq.co.jp/blog/engineer/oauth2-0/2978 ※VirtualBoxのマシンのIPアドレスは「192.168.56.101」になってます。 VirtualBoxの設定 VirtualBoxの設定でポートフォワーディングを設定し、 http://localhost:8080/ → http://192.168.56
Configuring Google as OAuth2 authorization provider in Spring Boot Recently we have decided to give modern look and feel of our product wish.dreamix – a collective fundraising HR tool allowing employees in a company to improve the surrounding work environment. We know UI and UX of a web platform is a must have feature and led by the desire of RAD (Rapid Application Development) we […] Recently we
いままで Mix-up Attack は Client が AS 毎に redirect_uri を使い分けていれば防げると信じられてきましたが、それじゃ防げないケースもあるよってのが OAuth ML に投稿されました。 細かい解説は英語読んでもらうとして、シーケンスにするとこういうことです。 Attacker AS が (Display Name やロゴ等を通じて) 一見 Honest Client に見えるような Client (Attacker Client) を Honest AS に登録しておく必要があります。 User が Attacker AS 選んでるのに Honest AS に飛んで Approve してしまってる部分も、Attacker Proxy が利用可能な状況 (e.g., Client が HTTP なエンドポイントで Honest AS のログインボタン等を
Deviseというgemのomniauthableを利用して、いろんなOAuth提供元サービスと連携orそのサービスを用いたログインを実現する方法。 こういうことやりたい人結構いるんじゃないかと思って、Wantedlyで実際にやってみた経験を大公開!! Gemのインストール deviseと各providerのomniauth関連Gemをインストール gem 'devise' gem 'omniauth' gem 'omniauth-facebook' gem 'omniauth-github' gem 'omniauth-google-oauth2' gem 'omniauth-hatena' gem 'omniauth-linkedin' gem 'omniauth-mixi' gem 'omniauth-twitter' とりあえず、omniauth-'provider'でググって出て
※1 「Google APIs Client Library for Java」と同様のライブラリとして「Google Data Java Client Library(gdata-java-client)」というものもありました。「Google Data Java Client Library(gdata-java-client)」は、2012年3月頃で開発が止まっているようで、「Google APIs Client Library for Java」の前世代のライブラリのようでした。 ※2 「Google APIs Client Library for Java」は、Androidアプリでも、Webアプリケーションでも使えます。たぶん、コンソールアプリケーションでも使えると思います。使う場合は、Androidアプリの場合、GoogleAccountCredentialクラス、Googl
Application-only authentication 今さらだけどTwitterのAPIバージョンが1.1になってユーザー認証しないとAPI叩けないのかなとか思ってたら、ちょっと前に新しい認証方式が出てたみたいなので試してみたというお話。 タイトルにもあるようにApplication-only authenticationっていう方式でOAuth2.0にもとづいたものらしい。従来のOAuth1.0を使った認証と比べるとだいぶ簡単で、API回数制限も検索なんかはユーザーごとのものよりもかなり緩和されてる。その代わりにユーザー認証が必要なユーザーのタイムラインとかDMみたいなAPIが使えないっていう制限はある。 立ち位置的にはこれまでOAuthなしで使えてたAPIの置き換えみたいなものかと。 もうちょっとちゃんとしたまとめ TwitterAPIがApplication-only au
Web系技術を学ぶ上で,やはりセキュリティ周りの技術は外せません。OAuth1.0ならばTwitter APIを触っていたんですが、、いつの間に2.0に!ということで、頑張って仕様書を読みつつ自分なりにまとめてみました。 The OAuth 2.0 Protocol draft-ietf-oauth-v2-10 を参考にしています。 また、以下で特に明示されない引用部分は全て The OAuth 2.0 Protocol draft-ietf-oauth-v2-10 から引用したものとします。 更に、以下の文章は2012/12/28時点でのAriの理解をまとめたものであり、内容を保証するのはこの時点でのAriの読解力のみです。 OAuth2.0の必要性 通常、ログインが必要なサービスを利用する際はログインID/パスワードの情報が必要になります。 特定のWebサービスに必要な時にアクセスする
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く