「Open Authorization 認証」の略記。 Web上の情報委譲形式「OAuth」を利用して、異なるサービス間での認可情報を受け渡しを行うこと。実行には、両サービスの「OAuth認証」対応が必須である。
サービス側で、委譲された情報の適用範囲や有効期限を予め設定することができるため、サービス利用に無関係な情報は受け渡しされない。ユーザーがパスワードを知らせなくても、必要な情報だけが外部サービス委譲されるため、情報漏洩のリスクを抑えられる。
こちらも先日の技書博で購入した本です。 前回記事の前に読んだ本なのですが、こちらについても学びのメモを残しておきます。 techbookfest.org 本書の構成 はじめに 第1章 本書の狙いと構成 第2章 OAuth 復習 第3章 OAuth 認証 第4章 OpenID Connect 第5章 チュートリアル あとがき 印象に残った点 個人的に参考になったと感じた点について以下に簡単にまとめておきます。 はじめに 本書の用語の定義 用語 説明 OAuth OAuth2.0 のこと OAuth の仕様 RFC6749 のこと OIDC の仕様 OpenID Connect Core 1.0 …
先日の技書博で購入した本をハンズオンしてみました。 techbookfest.org やったこと Githubに実践メモを残したのでこちらをご参照ください。 github.com おまけ 偽書博ではシリーズ3冊まとめて購入しました。 左の2冊は既読ですが右の1冊はまだ積読状態なので後ほど読みたいと思います。 ちなみに、まとめ買いしたらこんなステッカーもセットでいただきました。どこに貼ればよいのだろうか…
CypressでGoogle, Facebook, Microsoft, GitHub などのOAuth認証のログインを実施する方法を紹介します。CypressでOAuth認証を実施する方法はいくつかあるのですが、この記事ではGoogleのOAuthに対してフォーム入力する方法を試しています。 CypressでOAuth認証の実施方法 OAuth認証のサンプルアプリの用意 Auth0のセットアップ Auth0のReactサンプルアプリの設定 方法1. cy.origin()でOAuth認証のフォーム入力をする 妨害するサードパーティコードの変更を有効にする cypress.env.jsonの設…
1月に取り組んだ学習を振り返りです。先月に続いてRailsのWebアプリ制作でしたが、実装を通してrubyの文法の再確認やRailsの仕組みについて新しく学んだことが大半でした。 1月上旬 まず始めに、ruby学習時から曖昧にしてしまっていたselfキーワードについて学び直しました。 selfキーワードはレシーバ自身を表し、省略する事ができる。 インスタンスメソッド内で定義された場合はクラスのインスタンスそのものを表す。 クラスメソッド内で定義された場合はクラスそのものを表す。 当初、アクションのビジネスロジックをモデルファイルを使用せず、全てコントローラ上に記述していた為、コントローラ上のコ…
主に個人向けで作っているサービスでLogin with Notionを実装する必要があったので、その時の動作検証を行った時の作業ログです。 Login with Notionと仰々しく言っていますが、端的に言えばNotionと連携するためにOAuthを利用するだけの話です。 Public Integrationを作成する Notion公式ドキュメントに従って、Public Integrationを作成します。 developers.notion.com 今回の動作検証時のIntegrationの設定は、以下のようになっています。 適当と書いてあるところは適当に値を設定しています。 Basic …
突然のエラー 2023年9月。久々にDockerコンテナ上のアプリからYouTube Data APIを触ってみると、2022年(?)までつかえていたPythonコードがエラー。 AttributeError: 'InstalledAppFlow' object has no attribute 'run_console' run_consoleはコード実行の認可にかかわるメソッド。dir関数でしらべてみると、たしかにInstalledAppFlowオブジェクトにはrun_console属性がなく、実行できなくなった模様。 コード実行前に下記ライブラリの更新をしていたので、これが原因と判断。 …
はじめに OAuthってなに? OAuth2.0を使った認証で何ができるのか? Google APIの設定手順 1.Google Cloud Platformの設定ページへアクセスする 2.プロジェクトを作成しnext-rails-google-authと名前を付ける 3.メニューの「APIとサービス」>「OAuth同意画面」> User Typeは「外部」を選択して「作成」をクリックする 4.アプリ名、メールアドレスを入力し「保存して次へ」をクリックする 5.「スコープを追加または削除」で「Googleアカウントのメインのメールアドレスの参照」をチェックして「更新」したのち、「保存して次へ」…
2月に記事を書けなかった...。まぁ日数少ないから、3/1なのでセーフということにしたい。 Tauri で Google等のOAuthでログインを行う方法の状況 さて、Tauri で 作ったアプリで Google のログインを行う方法があるのだろうかと、色々調べていたのですが、まだ、議論中の話題のようです。 tauri の特定のrevisionを指定したらどうやらできるかも tauri_plugin_oauth を使えばできるっぽい という感じでしたが、1番目はちょっとな...というのと、2番目はもうちょっと具体例がほしいな...と思って、最初にリンクしたスレッドを、不定期に追っていたのですが…
はじめに フィヨルドブートキャンプ(以下、FBC)の「自分で考えたサービスをリリースする」という最終課題で、GitHubのREST API(REST)を利用した。(※近日リリース予定) Ruby on Railsを使って開発したのだが、RubyでGitHubAPIをたたく際に、GitHubが用意してくれている公式のラッパーライブラリ、octokit.rbを使ったらとても便利だった。 github.com サービス開発を始めた当初、「octokit.rbというラッパーライブラリがあるよ」、とGitHubの公式ドキュメントで紹介されていて存在は知っていたが、APIをたたくのが初めてなこともあり、使…
概要 OAuth はサードパーティアプリケーションによる HTTPサービスへの限定的なアクセスを可能にする認可フレームワークである。 下図の場合 サードパーティアプリケーション:AWS CodeBuild HTTPサービス:Bitbucket ※実際は認可エンドポイント、リダイレクトURI、トークンエンドポイントなどが絡み、もっと複雑なシーケンスだが、ざっくり理解する分には上図で問題ない メリット OAuth を使わない場合、サードパーティアプリに HTTPサービスのユーザー名、パスワード(ユーザー情報)を教える必要がある。 その場合、下記のリスクが発生する。 サードパーティアプリの権限を制御…