タグ

oauthとOAuthに関するkutakutatriangleのブックマーク (53)

  • ID周りをやりたいエンジニアにすすめたい学習ステップ(2) : 複数アプリケーションが絡むID管理

    ritouです。 こちらの記事の続きです。 前回の記事の振り返り 3行でまとめると まずは単一アプリケーションのID管理について解像度を上げてみよう Webアプリケーションフレームワークを使って新規登録から退会までざっくり動作確認してから、色々いじったり調べてみるのが良いよ セキュリティ関連の機能とか、新規登録時の身元確認、ログイン方法を拡張してみよう といったところです。個人的にはこれは全エンジニア向けの研修であってもいいぐらいのものだと思います。 今回の内容 タイトルにある通り、複数のアプリケーションが関わる部分に入っていきましょう。 というか、OAuthとOIDCやりたいんですよね?え?SAML? まずはID連携のベーシックな部分に触れていきましょう。 プロトコルは混ざっちゃっていますが、順番としてはこんなのはどうでしょう。 OAuth 2.0のClientとしての機能を設計/実装す

    ID周りをやりたいエンジニアにすすめたい学習ステップ(2) : 複数アプリケーションが絡むID管理
  • GitHub OAuthアプリを使ったスパム攻撃を停止させる

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

    GitHub OAuthアプリを使ったスパム攻撃を停止させる
  • Why is OAuth still hard in 2024? | Nango Blog

    Why is OAuth still hard in 2024?We implemented OAuth for the 50 most popular APIs. TL;DR: It is still a mess. OAuth is a standard protocol. Right? And there are client libraries for OAuth 2.0 available in basically every programming language you can imagine. You might conclude that, armed with a client library, you would be able to implement OAuth for any API in about 10 minutes. Or at least in an

    Why is OAuth still hard in 2024? | Nango Blog
  • OAuth Account Takeover - Account Takeover on Booking.com

    OAuth (Open Authorization) is a modern, open authorization standard designed to allow cross-application access delegation — for example, allowing your application to read data from your Facebook profile. Combined with the proper extensions, OAuth can also be used for authentication — for example, to log into your application using Google credentials. Since its first introduction in 2006, OAuth has

    OAuth Account Takeover - Account Takeover on Booking.com
  • 雰囲気でOAuthを使っていたエンジニアがOAuthサーバ(RFC6749)を自作してみる

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

    雰囲気でOAuthを使っていたエンジニアがOAuthサーバ(RFC6749)を自作してみる
  • OAuth 2.0の代表的な利用パターンを仕様から理解しよう

    連載 INDEX 次回 → はじめまして、OpenID Foundation Japan事務局長のNovです。 このたびは、Build InsiderでOAuth 2.0とOpenID Connectに関する記事を書かせていただくことになりました。 今回はOAuth 2.0、次回はOpenID Connectについて、ユースケースごとのフロー(Flow)や関連仕様についてまとめていきます。 OAuth 2.0仕様策定から5年 OAuth 2.0はIETF OAuth WG*1で仕様策定されている標準仕様群である。 最もコアとなるRFC 6749&RFC 6750はどちらも2012年にRFC化されており、すでに策定から5年以上が経過している。OpenID Foundation Japanの翻訳WGでもこれらは翻訳済みである。 The OAuth 2.0 Authorization Frame

    OAuth 2.0の代表的な利用パターンを仕様から理解しよう
  • 「挫折しない 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
  • ID連携の標準化仕様紹介とセキュアな実装のためのアプローチ ~ 2021 - r-weblife

    おはようございます ritou です。 久々に「解説付きスライド全公開」的なやつをやります。 先月、チーム内でID連携のための標準化仕様に関する勉強会(私が一方的に話す会)を行いました。 が、実際はだいぶグダグダになってしまい、これはその後色々付け足してるうちに別物になってしまった資料です。 内容としては、ID連携のための標準化仕様にどのようなものがあるかを知ってもらうための「入門編」のような立ち位置で作りました。 OpenID Connect(やSAMLのような) ID連携のための標準化仕様を紹介しようと思うと、ついつい個別にシーケンスやリクエスト/レスポンスの説明を始めがちですが、初学者が気になるのはそんな細けぇことではないでしょう。 まずは「この仕様で何ができるようになるのだろう」「この仕様では何を実現したいんだろう」と言うところから理解していくのが良いのではないでしょうか。 そこで

    ID連携の標準化仕様紹介とセキュアな実装のためのアプローチ ~ 2021 - r-weblife
  • OAuthにおける認可コード横取り攻撃とその対策

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

    OAuthにおける認可コード横取り攻撃とその対策
  • 世界一わかりみの深いOAuth入門

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

    世界一わかりみの深いOAuth入門
  • よりよくわかる認証と認可 | DevelopersIO

    少し早いですが、メリークリスマス!事業開発部の早川です。 早いもので、入社して 1 ヶ月半が経ちました。 現在は、 prismatix の理解を深めながら、導入支援を行っています。 今回はその中から、認証 / 認可についてお伝えします。 と言っても、これまでに同僚達が書いた分かりやすい記事がありますので、これらのガイダンスの形で、整理していきたいと思います。 ジョインしました 以来、初めての記事となりますドキドキ 目標 記事をご覧いただいた後、こちらのスライドを何となく理解できる気がすることを目標とします。 スライドに関するブログ記事はこちらです。 AWS Dev Day Tokyo 2018 で「マイクロサービス時代の認証と認可」の話をしてきた #AWSDevDay 目的 まず、認証 / 認可を学ぶ理由を考えてみました。 近年、様々なサービスが API を通じてつながり、より便利

    よりよくわかる認証と認可 | DevelopersIO
  • 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認証とは何か?なぜダメなのか - 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
  • OpenID Connectを使ったアプリケーションのテストのためにKeycloakを使ってみる - Qiita

    ユーザーの認証と認可を行う方法としてはOpenID Connectがメジャーですよね。ローカルで簡単にテストするために、ローカルでKeycloakDockerで起動してテストしてみます。外部システムはモックを使う、というのがセオリーですが、気軽に使える物のサービスを使った方が楽ですよね、ということで。 なお、認証周りのGoのアプリケーションコードは超簡易実装なので、番実装に入れちゃダメですよ。 2020/11/10: コンテナの置き場が変わっていたので更新 2020/11/11: Realmについて補足 Keycloakとは KeycloakはIBM傘下のRedHat傘下のJBossが作成している認証のすごいソフトウェアです。 自分自身でユーザーIDとパスワードを管理するID Provider機能を持つ OpenID Connect、OAuth2、SAML経由でユーザー認証ができる(

    OpenID Connectを使ったアプリケーションのテストのためにKeycloakを使ってみる - Qiita
  • 面倒なアプリのログイン機能を超簡単に実装する on GCP

    この記事は Google Cloud Japan Customer Engineer Advent Calendar 2019 の 16日目の記事です。 tl;dr「Google アカウントを使ったログイン機能を簡単に実装したい!」 Identity-Aware Proxy を使えば、ログイン画面すら作ることなく Google アカウントによるログイン機能を実装できます。ログイン可能なユーザを制限した社内向けアプリ等にも最適です。 「Google アカウント以外のソーシャル ログインもサポートしたい!」 Identity Platform で簡単に実現することができます。Firebase Authentication と共通の SDK が提供されており、ログイン画面も FirebaseUI により簡単に作ることができます。メールアドレスによるユーザリンク機能、マルチテナント対応、SLA も

    面倒なアプリのログイン機能を超簡単に実装する on GCP
  • OAuth2.0を復習してLINEとヤフーの脆弱性見つけたら両社が経営統合された | Nevermoe's Blog

    0x00 背景 一 Web Pentester の立場から、毎回 OAuth 連携の案件が来る時に、どこが診断する必要なのか、どこが idP の SDK 使っているから診断不要なのかを見極める必要があり、このような背景において、OAuth2.0 をもう一回復習して、心得を共有したいと思い始めました。(0x01~0x08)。復習しているうちに、OAuth の idP 両社の脆弱性を見つけ、50万円賞金もらって終わりと思ったらいつの間に両社経営統合されました。この話を読みたい方は 0x09 から読んでください。 この文章を読む前提は二つあります: OAuth2.0 の各種認証 Flow (すくなくとも Implicit Grant, Code Grant, Code Grant with PKCE) を大まかに理解していること。 この文章図解:OAuth 2.0に潜む「5つの脆弱性」と解決法に

  • [前編] IDトークンが分かれば OpenID Connect が分かる - Qiita

    はじめに 「解説記事を幾つも読んだけど OpenID Connect を理解できた気がしない」― この文書は、そういう悩みを抱えたエンジニアの方々に向けた OpenID Connect 解説文書です。概念的・抽象的な話を避け、具体例を用いて OpenID Connect を解説していこうと思います。 この文書では、JWS (RFC 7515)、JWE (RFC 7516)、JWK (RFC 7517)、JWT (RFC 7519)、ID トークンの説明をおこないます。 追記(2020-03-20) この記事の内容を含む、筆者人による『OAuth & OIDC 入門編』解説動画を公開しました! 1. 『ID トークン』を発行するための仕様 一般の方々に対しては「OpenID Connect は認証の仕様である」という説明で良いと思います。一方、技術的な理解を渇望しているエンジニアの方々に対

    [前編] IDトークンが分かれば OpenID Connect が分かる - Qiita
  • Django における認証処理実装パターン - c-bata web

    追記: 翔泳社さんからDjangoの書籍を出版するのでぜひ読んでみてください。 実践Django Pythonによる格Webアプリケーション開発 作者:芝田 将翔泳社Amazon この資料は DjangoCongress JP 2018で話した「Djangoにおける認証処理実装パターン」 の解説記事になります。 2019/04/08 追記: GithubのコードはPython3.7 Django2.2にupdateしています) 何年か前に Djangoのユーザー認証まとめ という記事を書きました。今でもコンスタントに100PV/dayくらいアクセスのある記事なのですが内容が古く、実装時にハマりやすい注意点にもあまり触れることができておらず、おすすめできる資料ではありません。今回はDjangoCongress JPにて発表の機会をいただけたのですが、この機会に認証処理についてまとめ直すと同

    Django における認証処理実装パターン - c-bata web
  • 認可と認証技術についてのスライドを書きました - ngzmのブログ

    認可と認証技術 OAuth 1.0、OAuth 2.0 および OpenID Connect に関するスライドをアップしました。 アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect - from Naoki Nagazumi www.slideshare.net 開発している Web アプリで、OAuth 1.0 や OAuth 2.0 および OpenID Connect の認可と認証技術を組み込んだ時に、あれこれ調査して知り得た技術をまとめたものです。 130ページくらいの力作です!ぜひご覧ください。 デモ これのデモはこちらにあります AuthsDemo デモのソースコードはこちらです。 GitHub - ngzm/auths-demo: This is a demo program with using OAuth

    認可と認証技術についてのスライドを書きました - ngzmのブログ
  • 一番分かりやすい OpenID Connect の説明 - Qiita

    はじめに 過去三年間、技術者ではない方々に OpenID Connect(オープンアイディー・コネクト)の説明を繰り返してきました※1。 その結果、OpenID Connect をかなり分かりやすく説明することができるようになりました。この記事では、その説明手順をご紹介します。 ※1:Authlete 社の創業者として資金調達のため投資家巡りをしていました(TechCrunch Japan:『APIエコノミー立ち上がりのカギ、OAuth技術のAUTHLETEが500 Startups Japanらから1.4億円を調達』)。 2017 年 10 月 23 日:『OpenID Connect 全フロー解説』という記事も公開したので、そちらもご参照ください。 説明手順 (1)「こんにちは! 鈴木一朗です!」 (2)「え!? 当ですか? 証明してください。」 (3)「はい! これが私の名刺です!

    一番分かりやすい OpenID Connect の説明 - Qiita