「Open Authorization 認証」の略記。 Web上の情報委譲形式「OAuth」を利用して、異なるサービス間での認可情報を受け渡しを行うこと。実行には、両サービスの「OAuth認証」対応が必須である。
サービス側で、委譲された情報の適用範囲や有効期限を予め設定することができるため、サービス利用に無関係な情報は受け渡しされない。ユーザーがパスワードを知らせなくても、必要な情報だけが外部サービス委譲されるため、情報漏洩のリスクを抑えられる。
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サービスのユーザー名、パスワード(ユーザー情報)を教える必要がある。 その場合、下記のリスクが発生する。 サードパーティアプリの権限を制御…
メモ。 アプリの登録 アプリケーションの認証 アクセストークンの取得 API利用 アプリの登録 client_name -> アプリ名 scopes -> アプリの権限。複数あるとき空白区切りでいいらしい curl -X POST \ https://mstdn.jp/api/v1/apps \ -F 'client_name=ohaToot' \ -F 'redirect_uris=urn:ietf:wg:oauth:2.0:oob' \ -F 'scopes=write' レスポンス {"id":"602156","name":"ohaToot","website":null,"redir…
OAuth2.0について、slideshareにまとめました。 参考文献 OAuth 2.0 の仕組みと認証方法 | murashun.jp よくわかる認証と認可 | DevelopersIO
1. はじめに API(Application Programming Interface)は、異なるソフトウェア同士が情報をやり取りするための手段です。しかし、機密性やデータの保護を考えると、APIにアクセスする際に認証が必要です。この記事では、OAuth、WSSE、Basicといった代表的なAPI認証の手法に焦点を当て、それらの違いを探ります。 moun45.hatenablog.com 2. API認証の必要性 API認証が必要な理由はいくつかあります。 ■セキュリティの確保: APIには機密データへのアクセス権が含まれることがあります。適切な認証を行うことで、不正なアクセスからデータを…
ソース: medium.com 脆弱性:XSS, ATO 訳: 私はすでにバグ報奨金プログラムを持っており、自己 XSS が保存されていることが判明しましたが、エスカレーションの手順を読んだ後、エスカレーションに必要な他の低レベルのバグから安全であることがわかり。 そこで、エスカレーションのための連鎖方法を実際に試してみることに。そのため、範囲外、NA、P5、または単なる情報所見とみなされる一連の脆弱性を実証する独自の環境を作成し。 TL、DR; -> Stored Self XSS をログイン/ログアウト CSRF と連結し、oAuth ログイン機能を利用してユーザーの Cookie を盗み…
ソース: sl4x0.medium.com 脆弱性:OAuth 訳: 問題のターゲットは、 あるREDACTED.com コース、書籍、および関連サービスの提供に重点を置いたプラットフォームで。 登録プロセス中に、ユーザーには 2 つのオプションが表示され。電子メールとパスワードを使用してサインアップするか、Google または Facebook を 介した OAuth 認証を選択するかのいずれかで。 早速、評価を始めてみましょう! まず「Facebook でログイン」をクリックして、何が起こるかを見てみて。 方法論は次の手順でわかるようになります。 どのアプリでも Facebook でログイ…
G-gen の佐々木です。当記事では GKE の Ingress リソースとして作成したロードバランサで Identity-Aware Proxy を有効化する方法を解説します。 当記事の概要 GKE クラスタにサンプルアプリケーションをデプロイ GKE クラスタの作成 Deployment リソースの作成 Google マネージド証明書の作成 静的外部 IP アドレスの作成 DNS レコードの作成 ManagedCertificate リソースの作成 アプリケーションの公開 Ingress リソースの作成 ブラウザからアプリケーションにアクセス OAuth 認証情報を格納する Secret …
外資就活プロダクトエンジニアリングチームで主にバックエンドの開発をしています、広瀬です。 ハウテレビジョンにジョインして半年経ちました。 弊社では勤怠管理に freee を導入していますが、freee の API を使用して Slack からスタンプで打刻できるアプリを自作して運用しています。公式にも同様のアプリ(人事労務freee)があるようですが、共有のチャネル上でおこなうことで、他の人の勤務状況も見える形にしています。 これまではこの勤怠ボット(Slack アプリ)を Heroku 上で動作させていたのですが、利用する外部サービスの整理・統一をおこなう中で、AWS に移行することになりま…
電子メールソフトは長い間 JustSystems の「Shriken」シリーズをずっと使い続けて来ました。ところが、開発元の JustSystems が 2018年にリリースされた「Shuriken 2018」を最後に開発と販売を終了。その後も欺し欺し使ってきましたが、既に公式サポートも打ち切られており、今後なんらかの脆弱性や不具合が発覚したとしても対応して貰うことは全く期待出来ません。唯一残されていた法人向け製品の「Shuriken Pro 7」の方も 2022年9月一杯で販売を止めてしまったようですね。 サポートが打ち切られたからといって直ちに使えなくなる訳ではありませんが、「Shurik…
APIの"auth認証"は、API(Application Programming Interface)を使用する際にセキュリティを確保するための手段の一つです。"Auth"は"Authentication"の略で、認証を指します。APIの認証は、APIへのアクセスが正当なものであることを確認するためのプロセスです。 APIを利用する際、通常は以下のような認証の仕組みが用意されます: ■APIキー: APIキーは、APIを利用する際に必要なトークンや文字列で、開発者がAPIにアクセスする際に使用されます。APIキーは開発者がAPI提供者によって発行され、各リクエストに含めることで正当な利用者で…
はじめに ここ最近あまり手を動かして新しいものを作成することができていなかったので、今回はNext.jsのServerActionsを試して見たいと思います。 まずは簡単なTodoリストの作成から始めてみます。 開発方針 個人開発ですが、先にデプロイの方法を考えてから開発を始めてみます。 今回選択したデプロイ先はVercelのHobbyプラン + PlanetScaleです。 どちらも無料枠があるので、個人開発を手軽に始めるには良い選択肢かなと思いました。 利用するFW、ライブラリ 今回はServerActionsとNext.jsを使ってみたいので、Next.jsの14.0.4、app rou…
piAId = '1009922'; piCId = '269860'; piHostname = 'pi.pardot.com'; (function() { function async_load(){ var s = document.createElement('script'); s.type = 'text/javascript'; s.src = ('https:' == document.location.protocol ? 'https://pi' : 'http://cdn') + '.pardot.com/pd.js'; var c = document.getElem…
電脳麻将 ver.2.3.0 で ネット対戦 の機能を追加した。ルーム(対局待ちの状態)や対局画面にプレーヤー名(できればアイコンも)を表示しようとするとプレーヤーの登録が必要になる。電脳麻将では「ゲスト登録」と「外部認証」の2つの方法で、電脳麻将自身ではプレーヤー情報を管理せずプレーヤー名を取得しているので、この方法を説明する。
一般的な話であるが、OAuth認証の基本的な仕組みを前提として確認する。OAuth認証を利用するWebアプリは、OIDCプロバイダから提供されたアクセストークンの正しさを、ユーザプロファイル情報の取得可否によって確認する。つまり、認証の過程においてWebアプリは、OIDCプロバイダのアクセストークンを取得している。この取得したアクセストークンを保持しておいて、OIDCプロバイダの提供するAPI呼び出しに使おう考えるのはごく自然なことである。 そういうわけで、本記事ではNextAuth.jsでの認証後、アクセストークンを取得する方法について扱う。 NextAuth.jsの仕組み上、アクセストーク…
電脳麻将 ver.2.3.0 で ネット対戦 の機能を追加しましたが、麻雀サーバー の使い方を説明していませんでした。README だけでは説明が不十分と思ったので、補足記事を書くことにします。麻雀サーバーを動作させるには Node.js と npm が必要なので、あらかじめインストール*1しておいてください。 *1:macOSでのインストール手順、Linuxでのインストール手順
このページの内容は以下のリポジトリに1日遅れで反映されます(記事執筆前に前日分をコミットしています)。 https://github.com/hkob/hkob_blog 注意: この日の作業は翌日全てなかったことにしています。順番に見ている人はこの日の作業をスキップしてください。 はじめに Rails Tips の 74 回目です。Rails ガイドでは BASIC認証をしていますが、せっかくなので Devise を使った認証を使ってみます。ただし、パスワード管理などはしたくないため、Google による OAuth 認証をしてみましょう。 Rails をはじめよう - Railsガイド 1…
有名なやつ co3k.org まあ僕自身のケースで言うと、 OpenID Connect 経由で得られる ID Token (JWT) はログインのためだけに使い、伝統的なセッション管理を引き続き使いますよ、もしくは ID Token にセッション ID を含みますよ、で要件を満たせてしまいます (実際には OpenID Connect の Session Management における拡張仕様のどれかにも載っからないと各サービス間でのログアウト状態の整合性が取れないので頑張りが必要ですが)。 Twitter で拾ったもの 第三者サービスへの認可の委譲は OAuth 2 の一時的なアクセストー…
ritouです。 あることがきっかけで、これが気になりました。 10年間で熟成されてしまった感のある「OIDCはOAuth 2.0を"認証もできる(認証用途に利用できる)ように"拡張した」っていう表現だが、プロトコルの解説にあたってもその流れでやられるとモヤるところがあるのでなんとかしておくべきだったのかもしれない。— 👹秋田の猫🐱 (@ritou) 2024年2月1日 この表現、検索するとたくさん出てくるんです。 仕様策定の時期 OIDC Core 1.0にある "OpenID Connect 1.0 is a simple identity layer on top of the OAut…