タグ

OAuthに関するhatatyuのブックマーク (33)

  • SAMLとOAuthとは?比較と違い、OpenID(OIDC)との関係を解説 | Okta

    Security Assertion Markup Language(SAML)は、認証プロセスです。毎朝、仕事を始める際にコンピューターにログインするときには、SAMLが使用されるケースが多いのではないでしょうか。SAMLは、XML形式のマークアップ言語の一種で、シングルサインオン(SSO)のプロトコルの一種としても使用されています。 Open Authorization(OAuth)は、認可プロセスです。新たなユーザー名とパスワードを使用せずに、あるサービスから別のサービスに移ることができます。例えばGoogleにログインし、その資格情報を使用してHootsuiteにアクセスする場合は、OAuthを使用したことになります。 どちらのアプリケーションもWebのシングルサインオン(SSO)に使用できますが、SAMLがユーザー固有になる傾向があるのに対して、OAuthはアプリケーション固有に

    SAMLとOAuthとは?比較と違い、OpenID(OIDC)との関係を解説 | Okta
  • OAuthの仕組みを説明してHonoで実装してみる

    はじめに はじめまして!レバテック開発部でレバテックプラットフォーム開発チームに所属している塚原です。 直近に認証・認可周りの改修を予定しているため、チーム内で認証・認可の基礎からOAuth・OpenID Connectの仕組みを学ぶ勉強会を実施しました。今回はそこで学んだことのうち、認証・認可の基礎とOAuthの仕組みをまとめます。また、WebフレームワークとしてHono、JavaScriptランタイムとしてBunを使って、OAuthクライアントを実装してみます。 対象読者 認証と認可の違いってなんだっけ...?という人 Basic認証やDigest認証てなんだっけ...?という人 OAuthはライブラリ使って実装してるから仕組みよくわかっていない...という人 OAuthのクライアントの実装って何をすればいいんだっけ...?という人 認証・認可の基礎 2024/7/18 追記 こちらで

    OAuthの仕組みを説明してHonoで実装してみる
  • 基本から理解するJWTとJWT認証の仕組み | 豆蔵デベロッパーサイト

    これは、豆蔵デベロッパーサイトアドベントカレンダー2022第8日目の記事です。 JSON Web Token(JWT)の単語を目にすることがよくあると思いますが、それと一緒に認証と認可や、RSAの署名や暗号化、そしてOpenIDConnectやOAuth2.0までと難しそうな用語とセットで説明されることも多いため、JWTって難しいなぁと思われがちです。しかし、JWT自体はシンプルで分かりやすいものです。そこで今回は素のJWTの説明からJWS、そしてJWT(JWS)を使った認証を段階的に説明していきます。 おな、この記事はJWT全体の仕組みや使い方の理解を目的としているため、以下の説明は行いません。 RSAやHMACなど暗号化やアルゴリズムの細かい説明 JWTを暗号化するJWEとJSONの暗号鍵表現のJWKについて OpenIDConnectとOAuth2.0について 記事は上記のような内容

    基本から理解するJWTとJWT認証の仕組み | 豆蔵デベロッパーサイト
  • 仕様が読めるようになる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 入門
  • SPA認証トークンはlocalStorageでもCookieでもない、Auth0方式はいいねというお話 - @mizumotokのブログ

    SPA認証トークンをどこに保存するかは論争が絶えません。localStorageやCookieがよく使われますが、Auth0は違う方法を採用しています。この記事では、Auth0のトークン管理の方式を理解でき、トークン管理上のセキュリティへの理解を深めることができます。 SPAの認証トークンをどこに保存するか ブラウザでトークンを保存できる場所 保存場所の比較 メリット・デメリット Auth0のアプローチ トークンはインメモリに保存 OpenID Connect準拠とトークン取得のUI/UXの悪化回避を両立 Auth0のjsライブラリ ログイン アクセストークンの(再)取得 図解 ログイン アクセストークンの(再)取得 自サービス内の認証だけのもっと簡易な構成 ログイン IDトークン取得 まとめ SPAの認証トークンをどこに保存するか ReactVueで認証付きSPA(Single Pa

    SPA認証トークンはlocalStorageでもCookieでもない、Auth0方式はいいねというお話 - @mizumotokのブログ
  • OAuthの言葉周りを整理する

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

    OAuthの言葉周りを整理する
  • 雰囲気でOAuthを使っていたエンジニアがOAuthサーバ(RFC6749)を自作してみる

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

    雰囲気でOAuthを使っていたエンジニアがOAuthサーバ(RFC6749)を自作してみる
  • JWT アクセストークンからの個人情報漏洩 - Qiita

    内包型アクセストークン、典型例としては JWT アクセストークンは、関連するデータを自身の内部に持っています。下記の条件が成り立つと、論理的な帰結として、そのようなアクセストークンから直接個人情報が漏洩します。 個人情報が含まれている 暗号化されていない ステートレス 意図しない者に盗まれる ここで「ステートレス」とは、「個人情報を保存するためのデータベースレコードを認可サーバー側に持たない」ことを意味しています。 もしもアクセストークンの実装が「内包型/暗号化されていない/ステートレス」であり、また、システムがクライアントアプリケーションに個人情報を提供する必要があるなら、当該システムは、アクセストークンに情報を埋め込むことを避け、個人情報を問い合わせるための Web API を提供すべきです。 ユーザー情報エンドポイント (OIDC Core Section 5.3) はそのような A

    JWT アクセストークンからの個人情報漏洩 - Qiita
  • SAML入門

    【累計4000部突破(商業版含む)🎉】 SAMLaiの道は果てしなく険しい。 書では、SAML2.0で一般的に多く使用されるフローであるWeb Browser SSOのSP-initiatedとIdP-initiatedと呼ばれるものを中心に、SP側の目線でなるべく簡潔に解説します。 SAML認証に対応してほしいと言われても、もう頭を抱える必要はありません。 筆者自身も何もわからない状態からもがき苦しみながらSAML SPを実装し、数年間サービスを運用してきました。 そのつらい経験を踏まえて、SPを実装する上で今まで触れられることのなかった ・どういう設計が必要か? ・何を気をつけなければならないか? のエッセンスを詰め込みました。 SAMLはエンタープライズ用途では求められることが非常に多く、歴史もそれなりに長いものですが、実装する上で必要な体系的な情報はなぜかほとんどありません。

    SAML入門
  • 「挫折しない 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を理解しているチームの作り方」というテーマで話させていただきました。 DevelopersIO 2021 Decade で「全員がOAuth 2.0を理解しているチームの作り方」というテーマで話させていただきました。 スライド 話した内容 なぜ人類は OAuth 2.0 に入門し続けるのか なぜ OAuth 2.0 をチームに根付かせたいのか 開発フローとしてコードレビューがある 仕様がわからないと、レビューができない コードと仕様のすり合わせのために仕様が分かる必要がある OAuth 2.0 はまあまあややこしい OAuth 2.0 では登場人物が4人いて、それぞれがいろんなやりとりをします。 それぞれのやりとりにパラメーターがあるので、誰が誰にどういう値をどうして送る、みたいなところまで考えるとまあまあやや

    全員がOAuth 2.0を理解しているチームの作り方 #devio2021 | DevelopersIO
  • OAuth2.0からOAuth2.1へ よりよい銀行システムを届けるためにLINEが参考にした技術

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

    OAuth2.0からOAuth2.1へ よりよい銀行システムを届けるためにLINEが参考にした技術
  • OAuthにおける認可コード横取り攻撃とその対策

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

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

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

    世界一わかりみの深いOAuth入門
  • 認証と認可の超サマリ OAuth とか OpenID Connect とか SAML とかをまとめてざっと把握する本

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

    認証と認可の超サマリ OAuth とか OpenID Connect とか SAML とかをまとめてざっと把握する本
  • 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 をシーケンス図で理解する
  • よりよくわかる認証と認可 | 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とはなにか | メルカリエンジニアリング
  • OAuth2.0 State の役割

    はじめに 前回は OAuth2.0 の認可コードグラントフローの I/F についてまとめました。 その中でいきなり登場したStateにフォーカスしてまとめます。 アジェンダ 認可コードグラント(復習) CSRF のための state OAuth2.0 の CSRF(Cross-Stie-Request-forgery) state を使用した認可コードグラントフロー まとめ 認可コードグラント(復習) またか!って思われるかもしれませんが、認可コードフローはフローが長く どこの話してるのかわかりにくいので、書いています。 (毎回すこしづつ改修してるので更に見やすくなっている...はず...) CSRF 対策のための State RFC6749の state の説明にはっきりと CSRF 対策のために導入すべき、と記載されています。 The parameter SHOULD be used

    OAuth2.0 State の役割
  • セキュリティ視点からの JWT 入門 - blog of morioka12

    こんにちは、ISC 1年 IPFactory 所属の morioka12 です。 この記事は IPFactory Advent Calendar 2020 の10日目の分になります。 IPFactory という技術サークルについては、こちらを参照ください。 記事の最後に記載されている余談でも IPFactory の詳細を紹介しています。 はてなブログに投稿しました #はてなブログ IPFactory Advent Calendar 2020 の10日目の記事を書きました#JWT #security セキュリティ視点からの JWT 入門 - blog of morioka12https://t.co/g1MYe77hAF — morioka12 (@scgajge12) 2020年12月10日 普段は Web Security や Cloud Security 、バグバウンティなどを興味分

    セキュリティ視点からの JWT 入門 - blog of morioka12