並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 255件

新着順 人気順

OAuthの検索結果1 - 40 件 / 255件

  • 認証と認可の超サマリ OAuth とか OpenID Connect とか SAML とかをまとめてざっと把握する本

    認証と認可についての知識が必要になったので、基礎的なことを学んでいます。 一切何も知らない状態から手当たり次第に細かく調べるのは大変だったので、超サマリを整理してみようと思います。 この本は「個々の要素に詳しくなる必要はないんだけど、概要くらいはさっと把握しておきたい」とか「手当たり次第に詳細調査をする前に、一瞥してこれから踏み込もうとしている領域の超俯瞰マップを作る」という感じで使うことを想定しています。 同じ様な方の役に立ったら、とても嬉しいです。 この本は筆者の理解に連動して追記修正される可能性があります。

      認証と認可の超サマリ OAuth とか OpenID Connect とか SAML とかをまとめてざっと把握する本
    • OAuth認証とは何か?なぜダメなのか - 2020冬 - r-weblife

      こんばんは。ritouです。 Digital Identity技術勉強会 #iddance Advent Calendar 2020 1日めの記事です。 qiita.com 初日なのでゆるふわな話をしましょう。 何の話か もうだいぶ前ですね。9月のお話です。こんなTweetを見かけました。 社内Slackにいる「OAuth認証」と書くと訂正してくれるbotが丁寧な解説をするようになっていた 認証(Authentication)と認可(Authorization)は間違えやすいわりにミスると甚大な被害をもたらしがちなので、常日頃から意識を高めていきたいですね pic.twitter.com/oVQxBgZcHS— greenspa (@greenspa) 2020年9月28日 このbotに対する思うところはもう良いです。 今回は、「OAuthの仕様に沿ってID連携を実装するいわゆる"OAut

        OAuth認証とは何か?なぜダメなのか - 2020冬 - r-weblife
      • 世界一わかりみの深いOAuth入門

        世界一わかりみの深いOAuth入門

          世界一わかりみの深いOAuth入門
        • OAuth 2.0 を参加者全員がある程度のレベルで理解するための勉強会を開催しました | DevelopersIO

          現在私は barista という OpenID Connect と OAuth2.0 に準拠したID製品の実装を行っています。 また、私の所属する事業開発部では prismatix というEC、CRM の API 製品の開発を行っていますが、この prismatix の認可サーバーとして barista を利用しています。 barista チームの増員や、prismatix の認可についての理解を促進するため OAuth 2.0 をある程度しっかりと理解しているメンバーを増やしたかったので、勉強会を開催しました。 勉強会の内容 概要 雰囲気でOAuth2.0を使っているエンジニアがOAuth2.0を整理して、手を動かしながら学べる本を全員で輪読 OIDC 編はこのあとやる予定 攻撃編もやりたい RFC 読んだりもしたい 参加者全員が以下を満たすことが目標 OAuth 2.0 の意図を理解

            OAuth 2.0 を参加者全員がある程度のレベルで理解するための勉強会を開催しました | DevelopersIO
          • 仕様が読めるようになるOAuth2.0、OpenID Connect 入門

            2023/10/05 Offersさんのイベントでの資料です。 https://offers.connpass.com/event/295782/ イベント後の満足度アンケート(5点満点)の結果は以下になります。 5点: 49% 4点: 39% 3点: 8% 2点: 4% こちらのスライドの内容は以下の本の抜粋になります。デモの内容、このスライドでは触れていないことについてご興味ある場合は以下の本をご参照ください。 https://authya.booth.pm/items/1296585 https://authya.booth.pm/items/1550861 本発表で扱っていないセキュリティに関しては以下の本がおすすめです。 https://authya.booth.pm/items/1877818 本の評判 https://togetter.com/li/1477483

              仕様が読めるようになるOAuth2.0、OpenID Connect 入門
            • OAuth 2.0 クライアント認証 - Qiita

              はじめに この記事では、OAuth 2.0 の『クライアント認証』について説明します。 RFC 6749 に記述されているクライアント認証方式のほか、クライアントアサーションやクライアント証明書を用いるクライアント認証方式についても説明します。 1. クライアント認証方式 1.1. トークンエンドポイント 認可サーバーがあります。 認可サーバーからアクセストークンの発行を受けたいクライアントアプリケーションがあります。 アクセストークンは、幾つかの例外を除き、認可サーバーのトークンエンドポイントから発行されます。そのため、認可サーバーはトークンエンドポイントを用意します。 クライアントアプリケーションは、アクセストークンの発行を受けるために、トークンエンドポイントにトークンリクエストを投げます。 認可サーバーは、トークンレスポンスを返します。この応答の中に、アクセストークンが含まれます。

                OAuth 2.0 クライアント認証 - Qiita
              • OAuth2の次に来ると言われる認可プロトコルGNAPとはなにか | メルカリエンジニアリング

                Merpay Advant Calendar 2020、23日目の記事は、趣味で認証認可をやっている @nerocrux が送りいたします。 最近 GNAP という認可プロトコルのワーキンググループドラフトが出ていて頑張って細かく読みましたので、(次回はいい加減に仕事でやってることについてお話しますが)今回はその GNAP について紹介させてください。 GNAP とはなにか? GNAP は Grant Negotiation and Authorization Protocol の略で、認可のプロトコルです。Justin Richerさんという方を中心に策定しています。作者によると、GNAP の発音は げなっぷ になります。 認可(Authorization)プロトコルと言えば、OAuth 2.0 (RFC6749) が広く知られ、運用されています。GNAP は OAuth 2 の後継とし

                  OAuth2の次に来ると言われる認可プロトコルGNAPとはなにか | メルカリエンジニアリング
                • 「挫折しない OAuth / OpenID Connect 入門」のポイント - Authlete

                  このビデオについて このビデオは、2021 年 10 月 6 日に開催された 「挫折しない OAuth / OpenID Connect 入門」の理解を深める会 のプレゼンテーション録画です。 2021 年 9 月 18 日発売の「Software Design 2021 年 10 月号」では、OAuth/OIDC が特集され、「挫折しない OAuth/OpenID Connect 入門・API を守る認証・認可フローのしくみ」と題し、Authlete 代表の川崎貴彦が寄稿しました。 本プレゼンテーションでは記事のポイントや、理解を深めるために重要なポイントについて、著者の川崎がお話しします。 文字起こし はじめに 目次 記事の第1章、第2章、第3章は、こういう目次になっています。 ここからピックアップして、 こんなことを話してます、というところを、 紹介したいと思います。 自己紹介 Au

                    「挫折しない OAuth / OpenID Connect 入門」のポイント - Authlete
                  • 全員がOAuth 2.0を理解しているチームの作り方 #devio2021 | DevelopersIO

                    DevelopersIO 2021 Decade で「全員がOAuth 2.0を理解しているチームの作り方」というテーマで話させていただきました。 スライド 話した内容 なぜ人類は OAuth 2.0 に入門し続けるのか なぜ OAuth 2.0 をチームに根付かせたいのか 開発フローとしてコードレビューがある 仕様がわからないと、レビューができない コードと仕様のすり合わせのために仕様が分かる必要がある OAuth 2.0 はまあまあややこしい OAuth 2.0 では登場人物が4人いて、それぞれがいろんなやりとりをします。 それぞれのやりとりにパラメーターがあるので、誰が誰にどういう値をどうして送る、みたいなところまで考えるとまあまあややこしいのですが、このややこしいシーケンスを完全に頭に入れると学習がスムーズに進むと思います。 勉強会について 以下をゴールに設定しました。 各ロール

                      全員がOAuth 2.0を理解しているチームの作り方 #devio2021 | DevelopersIO
                    • OAuthにおける認可コード横取り攻撃とその対策

                      OAuthにおける認可コード横取り攻撃とその対策 Jul 5, 2021 前回の記事で示したように、カスタムURLスキームを偽装した不正アプリは正規アプリへのディープリンクを乗っ取れる。この挙動の悪用シナリオとして、正規アプリと認可サーバー間のOAuthフローにおける認可コード横取り攻撃が知られている。この攻撃への対策を把握するためにiOS環境でシナリオを再現し、PKCEの有効性を確認した。 要約 OAuth 2.0の拡張機能であるPKCEを導入することで認可コード横取り攻撃を無効化できる。OAuth 2.0の仕様では、認可サーバーはネイティブアプリをクライアント認証できない。そのため、認可サーバーは認可コードを横取りした不正アプリと正規アプリを識別できない。しかし、PKCEの仕組みにより認可サーバーは正規アプリを識別できるようになり、認可コード横取り攻撃の検知が可能となる。 ネイティブア

                        OAuthにおける認可コード横取り攻撃とその対策
                      • OAuth 2.0 の勉強のために認可サーバーを自作する - Qiita

                        逆に、RFC 6749 以外で定義されている認可フローをサポートする場合、新たに別のエンドポイントの実装が必要になることがあります。例えば CIBA(Client Initiated Backchannel Authentication)ではバックチャネル認証エンドポイント(backchannel authentication endpoint)、デバイスフロー(RFC 8628)ではデバイス認可エンドポイント(device authorization endpoint)の実装が求められます。 この記事では、認可エンドポイントとトークンエンドポイントを実装します。サポートする認可フローは認可コードフローのみ、サポートするクライアント・タイプはパブリックのみとします。 2. 注意点 下記の理由、および書かれていないその他の理由により、本実装は商用利用には適していません。 セキュリティー上必須

                          OAuth 2.0 の勉強のために認可サーバーを自作する - Qiita
                        • FacebookからOAuthを停止されてわかった今時のセキュリティ - Uzabase for Engineers

                          NewsPicksの高山です。 この記事はUzabase Advent Calendar 2021の23日目の記事です。昨日は我らが赤澤剛さんによるAWS Organizationの記事でした。 去る2021年10月12日に突然NewsPicksのサービスでFacebookログインやFacebookへの投稿ができなくなりました。この状態は12月13日まで2ヶ月もの間継続していて、ユーザーさんには不便を強いてしまいました。 米Facebook本社とメールでやりとりしていましたが、メール返信に何週間も待たされ、Facebook日本法人に助けてもらってようやく解決に至ることができました。 この苦労話はいくらでもできるのですが、今回はセキュリティの切り口で書いていきます。 Facebookの「データ保護評価」 データセキュリティ項目 「すべてのプラットフォームデータストレージ(すべてのデータベース

                            FacebookからOAuthを停止されてわかった今時のセキュリティ - Uzabase for Engineers
                          • HerokuのOAuthトークン流出で、やっておくといいことリスト(コメント大歓迎)

                            2022年4月16日(日本時間)にアナウンスがあった、Heroku/Travis-CIのOAuthトークンの流出および悪用を受けて、ユーザーとしてやっておくといいことをまとめました。 GitHubのOrganizationのオーナー向けと個人向けで分けてあります。 追記: 複数の補足のコメントを頂き、記事にも取り込んでいます。ありがとうございます! 注意 執筆者はGitHub, Heroku, Travis-CIの専門家ではありません。この記事は誤っている可能性があります。 この記事は現在調査中の問題について書かれています。最新情報は必ず公式サイトをご確認ください。 GitHub Heroku Travis CI インシデントの概要 GitHubがHerokuとTravis-CIのOAuthアプリケーションに発行したトークンが流出・悪用したことで、それらの連携が有効だった多くのOrgani

                              HerokuのOAuthトークン流出で、やっておくといいことリスト(コメント大歓迎)
                            • OAuth 2.1 の標準化が進められています - Qiita

                              IETFのOAuth WGでは、今あるOAuth2.0関連の仕様を整理し、一つの仕様としてまとめなおし OAuth2.1 として標準化するとりくみが進められています。 今回は、簡単にOAuth2.1について紹介します。 OAuth 2.0 OAuth 2.0は2012年10月に「RFC6749 The OAuth 2.0 Authorization Framework」として標準化されています。その後、OAuth2.0の改善は続けられ、セキュリティ向上のために利用すべき機能(PKCE)などが追加されているほか、逆に非推奨になっている機能(Implicit Grant)などがあります。 IETFのOAuth WGではOAuth2.0を安全に利用するためのベストカレントプラクティスを「OAuth 2.0 Security Best Current Practice」としてまとめています。 この

                                OAuth 2.1 の標準化が進められています - Qiita
                              • OAuthの言葉周りを整理する

                                OAuthの仕組みとToken認証周りの言葉はいつまで経ってもはっきり理解できないものの一つでした。 しかし最近ようやく理解できるようになってきたのでとりあえずそれぞれの言葉の指すものや定義をここで整理してみようと思います。 リフレッシュトークン リフレッシュトークンとは アクセストークンの有効期限が切れたときに、認可サーバーにアクセストークンの更新リクエスト認証をするためのトークン。 OAuth自体はリフレッシュトークンがなくとも実装できるが、リフレッシュトークンはOAuthをより便利にするためのもの。 一般的に有効期限は長い。 ないとどうなるのか アクセストークンの期限が切れたらその度にSNS認証のあのログイン画面に飛ばされてメアドとパスワードの入力が必要になる。 セキュリティに関すること 有効期限が長くても安全性に問題がないと考えられる理由としては、アクセストークンの期限切れ時にしか

                                  OAuthの言葉周りを整理する
                                • Security alert: Attack campaign involving stolen OAuth user tokens issued to two third-party integrators

                                  SecuritySecurity alert: Attack campaign involving stolen OAuth user tokens issued to two third-party integratorsOn April 12, GitHub Security began an investigation that uncovered evidence that an attacker abused stolen OAuth user tokens issued to two third-party OAuth integrators, Heroku and Travis-CI, to download data from dozens of organizations, including npm. Read on to learn more about the im

                                    Security alert: Attack campaign involving stolen OAuth user tokens issued to two third-party integrators
                                  • oauth2とは何か?認証と認可の違い。

                                    あぁ、しくじった。毎日書こうとしたら休みの日である事を完全に忘れてゲームばかりした結果 0時を回って書いてしまっている。 しかも今回の内容が多分長くなりそうだから既に明日やる口実を作って明日作成しようとしている。 あぁ、憂鬱だ。 そんな始まり方のoauth 最近でこそoauth認証って普及されてますけど、 最初見た時、???ってなりませんでしたか? 僕は謎過ぎて良くわからなかったから、こんなのやらないと思ってました。 が、、、今になってみるとあまりにも便利が故に もはや、Googleサインインとかappleサインインが無いと嫌ですもんね。 おいおいおい、入れておけや。と。。。 それだけ楽にしてくれた認証機能ですが、 実は、認証機能以外にも認可という部分もあるので 今日はその辺を自分の備忘録的に書いていこうと思っています。 参考にしたもの まず先に参考にした動画を貼ります。 ざっくりと簡単に

                                      oauth2とは何か?認証と認可の違い。
                                    • 『いまどきの OAuth / OpenID Connect (OIDC) 一挙おさらい』の予習・復習用情報 - Qiita

                                      はじめに Authlete(オースリート)社主催の勉強会『いまどきの OAuth / OpenID Connect (OIDC) 一挙おさらい』(2020 年 1 月 31 日(済), 2020 年 2 月 21 日(中止))の内容がてんこ盛り過ぎるため、予習・復習用の情報を書き出そうと思います。 追記 2020 年 1 月 31 日の勉強会の資料と動画(字幕付き)を公開しました! OAuth / OIDC 勉強会参加者は、OAuth 2.0(オーオース)と OpenID Connect(オープンアイディー・コネクト)の基本を知っていることが前提となります。 OAuth 2.0 は「アクセストークンを発行する仕組み」です。その中心となる仕様は RFC 6749 です。詳細については『一番分かりやすい OAuth の説明』と『OAuth 2.0 全フローの図解と動画』をご参照ください。 Op

                                        『いまどきの OAuth / OpenID Connect (OIDC) 一挙おさらい』の予習・復習用情報 - Qiita
                                      • Basic認証、Digest認証、Bearer認証、OAuth認証方式について - プログラミング初心者がアーキテクトっぽく語る

                                        Basic認証、Digest認証、Bearer認証、OAuth認証方式はRFCで標準化されている認証方式の中で最もよく目にする方式だろう。 Basic認証とDigest認証は多くのサーバ、クライントで実装されており導入障壁が低い認証方式だ。 機密性の高いデータを扱うサービスでは比較的安全なBearer認証、OAuth認証方式を目にすることが多い。 ここではBasic認証、Digest認証、Bearer認証、OAuth認証方式について簡単に触れる。 この4つの概要を理解しておけば大体のWebサービスは理解できるだろう。 もしサービスが固有の認証方式を実装していた場合でもこれらの方式との類似性に着目すればすぐに理解できるはずだ。SAMLやOpenIDと言ったより複雑な認証方式を理解する上でも助けになると考える。 1. Basic認証方式 最も理解しやすいのがBasic認証方式だ。RFC 261

                                          Basic認証、Digest認証、Bearer認証、OAuth認証方式について - プログラミング初心者がアーキテクトっぽく語る
                                        • パスワードレス時代のOpenID Connectの活用 / 20230404-OAuth-Numa-Workshop

                                          OAuth Numa Workshop 2023での講演資料になります。 https://openid.connpass.com/event/275302/ SMS・メールを利用した認証やFIDOによるパスワードレスの認証が普及し始めています。 一方でFIDOなどの手段はまだ対応のハードルが高いため、過渡期においてはOpenID Connectを使ったID連携によってパスワードレスを実現することも選択肢としてあると考えます。 認証強化のために必要なOpenID Connect・OAuth 2.0で提供されるプロファイルの活用についてご紹介します。

                                            パスワードレス時代のOpenID Connectの活用 / 20230404-OAuth-Numa-Workshop
                                          • E2EテストでNextAuth認証(OAuthなど)を突破する方法

                                            NextAuth (Auth.js) で認証させているWebアプリをPlaywrightなどでE2Eテストする際に、認証をどうやってさせるか、あるいは回避するかが悩ましい部分です。 もし採用している認証方式が、単純なID/パスワード認証であればテストユーザを作成し、Playwrightにパスワードを入力させれば認証できるので問題はありません。 しかし、Google認証などの外部のプロバイダを経由するような場合は、E2Eテストをすることが難しくなります。そこでこの記事では、NextAuthの認証済み状態をPlaywrightで再現させる方法を紹介します。 やり方は大きく2つ NextAuthの設定に依存してやり方は大きく2つあります。 セッションデータを database で管理している場合 セッションデータを jwt で管理している場合 データベースの場合 セッションデータをデータベースに

                                              E2EテストでNextAuth認証(OAuthなど)を突破する方法
                                            • OAuth / OIDCを学ぶための最短経路

                                              はじめにここ数ヶ月、OAuth / OIDC の勉強をしていました。 はじめはどこからどう手を付ければいいのかわからず、OAuth と名のつく本や資料をとりあえず色々読んでいました。 勉強していくなかで、効率の良い学習方法が少しずつわかってきたので、まとめます。 学習する順番のまとめOAuth & OIDC 入門編 by #authlete - YouTubeを見るOAuth / JWT /OIDC の全体感を掴みますここではすべてを理解するのではなく、何がわからないのかをわかることが目的です雰囲気で使わずきちんと理解する!整理して OAuth2.0 を使うためのチュートリアルガイドを読むOAuth とはどういうものかということを理解しますOAuth、OAuth 認証、OpenID Connect の違いを整理して理解できる本を読むOIDC とはどういうものか、OAuth とはどう違うかと

                                                OAuth / OIDCを学ぶための最短経路
                                              • OAuth、OAuth認証、OpenID Connectの違いを整理して理解できる本 [2023年改訂版] - Auth屋 - BOOTH

                                                ※ 2023年 改定: Google Cloudのキャプチャを最新のものに差し替えました。 ステッカーは「OAuth完全に理解した!」ステッカーです。 トップの画像をご確認ください Auth屋の本の評判: https://togetter.com/li/1477483 雰囲気OAuthシリーズ第2弾!認可のプロトコルであるOAuth2.0と認証の関係を理解するための本です。OpenID Connectの入門書でもあります。 ■ 想定読者 以下のいずれかに当てはまるエンジニアが想定読者です。 • OAuthと認証の関係を理解したい • 「SNSアカウントでログイン」の仕組みを知りたい • OpenID Connectを理解したい ■ この本を読むメリット 「OAuth は認可のプロトコルなのになぜ OAuth"認証"という言葉が使われているのか」 「OAuth 認証と『OAuth を認証に使

                                                  OAuth、OAuth認証、OpenID Connectの違いを整理して理解できる本 [2023年改訂版] - Auth屋 - BOOTH
                                                • OAuth 2.0 認可コードフロー+PKCE をシーケンス図で理解する

                                                  はじめに OAuth 2.0 のフローをシーケンス図で説明したWeb上の記事や書籍を何度か見かけたことがありますが、 フローの概要に加え、クライアントや認可サーバー側でどういったパラメータを元に何を検証しているのかも一連のフローとして理解したかった RFC 7636 Proof Key for Code Exchange (PKCE) も含めた流れを整理したかった というモチベーションがあり、自分でシーケンス図を書きながら流れを整理してみた、という趣旨です。 記事の前提や注意事項 OAuth 2.0 の各種フローのうち、認可コードフローのみ取り上げています 認可コードフローとはなにか、PKCE とはなにかという説明は割愛しています 概要について、個人的にはこちらの動画が非常にわかりやすかったです: OAuth & OIDC 入門編 by #authlete - YouTube 認可コードフ

                                                    OAuth 2.0 認可コードフロー+PKCE をシーケンス図で理解する
                                                  • 【書評】雰囲気でOAuth2.0を使っているエンジニアがOAuth2.0を整理して、手を動かしながら学べる本 #技術書典7 | DevelopersIO

                                                    【書評】雰囲気でOAuth2.0を使っているエンジニアがOAuth2.0を整理して、手を動かしながら学べる本 #技術書典7 技術書典7で頒布された「雰囲気でOAuth2.0を使っているエンジニアがOAuth2.0を整理して、手を動かしながら学べる本」を読んでみたのですが、良かったので紹介します。 以下で購入可能です。 雰囲気でOAuth2.0を使っているエンジニアがOAuth2.0を整理して、手を動かしながら学べる本 雰囲気でOAuth2.0を使っているエンジニアがOAuth2.0を整理して、手を動かしながら学べる本 すごくざっくり言えば、OAuth 2.0 ってなんなの?と、実際にサービスのエンドポイントを叩いて各フローを実際に体験するチュートリアルから構成されています。 私が特に良いなと思ったのは、 実際に存在するサービスを使った例に合わせて説明が進むので、それぞれのロールが「そもそも

                                                      【書評】雰囲気でOAuth2.0を使っているエンジニアがOAuth2.0を整理して、手を動かしながら学べる本 #技術書典7 | DevelopersIO
                                                    • OAuth 2.0 / OIDC を理解する上で重要な3つの技術仕様

                                                      2020年3月17日、株式会社Authleteが主催する「OAuth & OIDC 勉強会 リターンズ【入門編】」が開催。同社の共同創業者であり、プログラマー兼代表取締役でもある川崎貴彦氏が、OAuth 2.0 / OIDCの仕様について解説しました。 冒頭は、OAuth 2.0の概念や認可・認証までの流れと、それを理解する上で避けては通れない3つの技術仕様(JWS・JWE・JWT)についての解説です。 OAuth 2.0とは 川崎貴彦氏:株式会社Authleteの川崎です。本日は「OAuthとOpenID Connectの入門編」ということでオンライン勉強会を開催しますので、よろしくお願いします。最初にOAuth 2.0の概要の説明からです。 ブログに書いてある内容と一緒なんですが、まずユーザーのデータがあります。このユーザーのデータを管理するのが、リソースサーバーです。このユーザーのデ

                                                        OAuth 2.0 / OIDC を理解する上で重要な3つの技術仕様
                                                      • SSHログイン時に公開鍵認証とGoogle OAuthで多要素認証する | ten-snapon.com

                                                        # ブラウザで認証後表示されたコードをペーストする Please type code:xxxxxxxxxxxxxxx sshでサーバにログインする際に、まず公開鍵認証が行われ、正解するとたーみなるに、このURLを開いてくれというメッセージが出ます。 https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=xxxxxxxx-xxxxxxxxxxx.apps.googleusercontent.com&redirect_uri=uxxxxx 上記の部分ですね。これをブラウザに貼り付けて、Googleの認証を超えると、あるコードが払い出されるので、それをターミナルに貼り付けると無事ログインできます。また、ログイン後はトークンが有効期限のうちは再度oAuthする必要はありません。 インストール方法 OAuth

                                                          SSHログイン時に公開鍵認証とGoogle OAuthで多要素認証する | ten-snapon.com
                                                        • JWT+RDBを用いたOAuth 2.0 ハイブリッド型トークンの実装例 - r-weblife

                                                          おはようございます、ritouです。 (⚠️認可イベントの識別子のあたり、ちょっと見直しました!最初に見ていただいた方はもう一回どうぞ!) 前回、ハイブリッド型と呼ばれる OAuth 2.0 のトークン実装について書きました。 ritou.hatenablog.com その続きとして JWT(JWS) + RDBでできる実装例を紹介します。 理解するにはそれなりの OAuth 2.0 に関する知識が必要になるかもしれませんが、よかったら参考にしてみてください。 何を考えたのか OAuth 2.0のRefresh Token, Access Tokenを考えます。 要件から整理しましょう。 要件 結構ありますが、最低限の OAuth 2.0 の Authorization Server を実装しようと思ったらこれぐらいはやらないといけないでしょう。 RFC6750 で定義されている Bear

                                                            JWT+RDBを用いたOAuth 2.0 ハイブリッド型トークンの実装例 - r-weblife
                                                          • 「GitHub」から非公開リポジトリなどのデータが流出 ~「npm」にも被害/「Heroku」「Travis-CI」発行のOAuthトークンが盗難・悪用される

                                                              「GitHub」から非公開リポジトリなどのデータが流出 ~「npm」にも被害/「Heroku」「Travis-CI」発行のOAuthトークンが盗難・悪用される
                                                            • GitHub の OAuth 実装の仕様違反とセキュリティ上の考慮事項 - Qiita

                                                              本稿は GitHub Docs の "Authorizing OAuth Apps" ページに書かれている情報に基づいています。英語版はこちら → "Spec Violations in GitHub OAuth Implementation and Security Considerations" 仕様違反箇所 認可リクエストの response_type リクエストパラメーターがない。当パラメーターは必須である。RFC 6749 (The OAuth 2.0 Authorization Framework) Section 4.1.1 (Authorization Request) 参照。 トークンレスポンスのデフォルトフォーマットが application/x-www-form-urlencoded のようである。フォーマットは常に application/json でなければならな

                                                                GitHub の OAuth 実装の仕様違反とセキュリティ上の考慮事項 - Qiita
                                                              • OAuth 2.0 / OpenID Connectにおけるstate, nonce, PKCEの限界を意識する - r-weblife

                                                                おはようございます、ritouです。ちなみに予約投稿なのでまだ寝てます。 本日のテーマはこちらです。 OAuth/OIDCのstate,nonce,PKCE使ってもClient/RPがしょーもなかった場合のServer/OP側の限界についてのブログ書いてる。— 👹秋田の猫🐱 (@ritou) July 6, 2019 OAuth 2.0で言うところのClientの視点から、ここに気をつけて実装しましょうという話ではありません。 OAuth 2.0で言うところのServerの視点からみて、Clientにこんな実装されたらたまんねぇなっていうお話です。 最終的には一緒な気もしますが、とりあえず始めます。 state OAuth DanceにおけるCSRF対策としての state パラメータについて簡単に整理します。 Clientがセッションに一意に紐づく値として生成、管理 ClientがA

                                                                  OAuth 2.0 / OpenID Connectにおけるstate, nonce, PKCEの限界を意識する - r-weblife
                                                                • OAuth2.0からOAuth2.1へ よりよい銀行システムを届けるためにLINEが参考にした技術

                                                                  LINE株式会社の開発拠点の一つである「京都開発室」が、オンラインのエンジニア採用説明会を開催。銀行事業のサーバーサイド開発について、Robert Mitchell氏、野田誠人氏が話をしました。 LINEの銀行サービスとは Robert Mitchell氏(以下、Mitchell):サーバーサイドチームのMitchell Robertと申します。本日、野田さんと一緒に、LINEの銀行サービスの開発について発表したいと思います。よろしくお願いします。 今日の内容ですが、以下の通りになります。まずはLINEの銀行サービスとはなにかついて、軽く説明したいと思います。その後、システムアーキテクチャと開発フローについて話したいと思います。最後は、認証と認可で、これは私たちが担当している部分です。これに関連するスペックや、セキュリティの仕組み、フローについて話したいと思います。 じゃあ、LINEの銀行

                                                                    OAuth2.0からOAuth2.1へ よりよい銀行システムを届けるためにLINEが参考にした技術
                                                                  • Sign in with Apple の特徴分析 (1) - OAuth.jp

                                                                    前記事 で書いたように、ここ数日 Sign in with Apple 用の RubyGem 作りながら、Sign in with Apple の特徴というか、他の IdP との違いみたいなところいろいろ調査したので、現時点での Sign in with Apple に対する雑感をまとめておきます。 Client ID と Team ID および App ID との関係 個人として Apple Developer Account 使ったことしかないんで、会社として Developer 登録してる時の Team の扱いとかよくわかってないんですが、Apple Developer Account 登録すると Team ID ってのが割り振られます。個人だと 1 Developer Account に 1 Team ID。 この1つの Team ID の下に、複数の子 App ID が登録可能で

                                                                    • 雰囲気でOAuth2.0を使っているエンジニアがOAuth2.0を整理して、手を動かしながら学べる本[2023年改訂版] - Auth屋 - BOOTH

                                                                      2023年改定: Google Cloudのキャプチャを最新のものに差し替えました。 ステッカーは「OAuth完全に理解した!」ステッカーになります。 トップの画像をご確認ください。 Auth屋の本の評判: https://togetter.com/li/1477483 本書の書評: https://dev.classmethod.jp/articles/atmosphere-oauth2-0-book/ 誰に向けた本かぜんぜんわからない。俺たちは雰囲気で OAuth をやっている。 そんなエンジニアに向けてこの本を書きました。 具体的には以下の質問に答えられないエンジニア です。 • スコープとはなんですか? • 認可コード (Authorization code) は何が行われた証ですか? • Webアプリケーションの場合、どのフローを使うべきですか? こ

                                                                        雰囲気でOAuth2.0を使っているエンジニアがOAuth2.0を整理して、手を動かしながら学べる本[2023年改訂版] - Auth屋 - BOOTH
                                                                      • 雰囲気でOAuthを使っていたエンジニアがOAuthサーバ(RFC6749)を自作してみる

                                                                        はじめに Auth屋さんの本やその他有識者のBlogなどを読むことで少しながらOAuthやOIDCの仕組みが理解できてきました。 そんななかで以下の記事が大変勉強になりました。 ↑の記事ではRubyで実装されているのですが、これを参考というかほぼ丸コピですがgolangで実装してみたいと思います。 コードは以下にあります。 仕様 OAuthサーバでは認可エンドポイントとトークンエンドポイントを実装する必要があります。 認可とトークンエンドポイントの2つに加えてユーザ認証を行うエンドポイントを作ります。 今回は元記事と同じようにFormに入力したユーザ&パスワードを受け取り確認します。 RFC6749に関する仕様は元記事の2.注意点と同じになるはずです。 「はずです」というのは恥ずかしながらまだ完全な理解に至っておらず今もRFCを読みながら答え合わせ中です。 ぜひ認識違いがあればご指摘くださ

                                                                          雰囲気でOAuthを使っていたエンジニアがOAuthサーバ(RFC6749)を自作してみる
                                                                        • OAuth 2.0/OIDCに入門した開発者が仕様沼に潜るための次のステップとは? - r-weblife

                                                                          お疲れ様です、ritou です。 OAuth 2.0やOIDCの入門書(?)を読み終えた開発者の方に、仕様を理解していくための次のステップは何があるかを聞かれました。 そもそもそんなこと言う人は クライアントを実装したい(しなければならない) 認可サーバーを実装したい(しなければならない) セキュリティエンジニアを名乗っていてこの分野を抑えときたい ただ単純に興味がある : そんな人いる? とかそんな感じな気はしますが、基本的なフローを乗り越えた先に広がる仕様沼への潜り方に戸惑っておられるようでした。 そこで、いわゆる RFC6749/6750/7636 あたりを完全に理解した開発者が山ほどある仕様にどう立ち向かっていくかを考えます。 仕様にも色々ある IETF の OAuth関連の仕様、いっぱいあります。密です。密です。みみみみみみみみ... tools.ietf.org 去年に一回まと

                                                                            OAuth 2.0/OIDCに入門した開発者が仕様沼に潜るための次のステップとは? - r-weblife
                                                                          • OAuth 2.0 PlaygroundでOAuth 2.0のクライアントの気持ちになろう | DevelopersIO

                                                                            OAuth 2.0に対応したAPIクライアントのアプリを書きたい気持ちになったのですが、テストをどうするか考えながらOSSの認可サーバーをローカルに立てたりするかなど考えていたら、OAuth 2.0 Playgroundというものを知りました。 こちらは実際に認可サーバーを使ってOAuth 2.0 のクライアントの気持ちになれるチュートリアルで、良さそうだったので紹介します。 OAuth 2.0 Playground okta社によって提供されている、OAuth 2.0 とOIDCのフローを、実際に体験するためのチュートリアルです。 Authorization Code PKCE Implicit Device Code OpenID Connect に対応しており、実際に認可サーバーを叩きながらインタラクティブに学ぶことができます。 やってみる 今回はAuthorization Code

                                                                              OAuth 2.0 PlaygroundでOAuth 2.0のクライアントの気持ちになろう | DevelopersIO
                                                                            • ドコモ口座問題 - OAuth.jp

                                                                              忘れそうなので一旦メモ。 ドコモ口座の問題って、こういうことでしょ? 銀行側のAALが1を満たさないので銀行側が銀行口座を保護できない 銀行側のAALが1を満たさないので「銀行にKYCを依拠する」というサービスのLoAが1を満たさずサービスとして成り立っていない 結果としてドコモ口座のIALは1 (= dアカウント登録直後と同等) のまま 「銀行口座名義とドコモ口座名義の一致確認」と「銀行にKYCを依拠」が同時に発生してしまっている結果「銀行口座名義とドコモ口座名義の一致確認」が実質なされていない 参考) https://gist.github.com/nov/b8be7b50db48862784b470c1ae6c1718 口座の一致確認が行われていないためドコモも銀行口座を保護できない ドコモ口座側のAALは1を満たすのでドコモがドコモ口座を保護することは可能 結果として銀行口座は保護

                                                                              • GitHub OAuthアプリを使ったスパム攻撃を停止させる

                                                                                2024年2月21日ごろから、"Github Jobs"を名乗るGitHubの開発者ポジションをオファーするスパム攻撃が発生しています。 仕組みとしては、GitHubのIssueやPRでmentionをするとメールの通知が届くのを利用して、コメントでスパムメッセージを送りつけるものです。 以前からこのスパムは存在していましたが、今回おきた問題はGitHub OAuth Appを用意して、スパムコメントで24時間以内にここから申請してくださいという感じの誘導して、OAuthアプリの認証を行わせる攻撃が含まれていました。 このスパムOAuthアプリは、GitHubのprivateリポジトリの読み取りやコメントの読み書きなどの権限も持っていたため、このスパムアプリを認可してしまうと、その人のアカウントでさらにスパムコメントが増えるという問題が起きていました。 詳細は、次のGitHub Discu

                                                                                  GitHub OAuthアプリを使ったスパム攻撃を停止させる
                                                                                • Frontend/BackendのOAuth2.0クライアント書いてみた - Got Some \W+ech?

                                                                                  個人的に認証・認可まわりに興味を持ち出して以来、RFCやドキュメントを読みまくっていた。しかしながら、仕事が忙しかったり、そもそもここらへんを仕事でやるポジションにいないため、ちゃんと実装してみないことにはどうにもならんな、と思いだした。よって、最終的なゴールを雑なFAPI*1準拠したOAuth/OIDCシステムを実装していくことにした。具体的には以下の順番でやろうとしている。認証はもしかしたら、以前つくったFIDO2サーバー使うかも。 OAuth2.0クライアント(Code Grantのみ) OAuth2.0認可サーバー OAuth2.0リソースサーバー FAPI Part1化 OIDC化 FAPI Part2化 まずは、OAuth2.0クライアントを雑に作成した。ある程度できたので、一旦、棚卸しもかねてブログを書く。 その過程で湧いた疑問は、解を求める終わりのないRFC・ドキュメント漁

                                                                                    Frontend/BackendのOAuth2.0クライアント書いてみた - Got Some \W+ech?