delhi09の勉強日記

技術トピック専用のブログです。自分用のメモ書きの投稿が多いです。あくまで「勉強日記」なので記事の内容は鵜呑みにしないでください。

2024-01-01から1年間の記事一覧

勉強のためにOpen ID ConnectのIDプロバイダー側をDjangoで実装する⑥

以下の続き kamatimaru.hatenablog.com トークンエンドポイント 空のエンドポイントの実装 まずは空のエンドポイントを実装していく。 Viewを定義する。トークンエンドポイントはPOSTのみ。 views.py class TokenView(View): def post(self, request): retur…

ChatGPTのAPIを使うまでの試行錯誤(2024/12/30時点)

前提 生成AIを使って作ってみたいのものがいくつかあるが、まずは何らかの生成AIサービスのAPIを使えるようにならないと話にならない。 → ChatGPTのAPIを使えるようになるところまでをやってみることにした。 試行錯誤したこと APIの画面が見つからない API…

勉強のためにOpen ID ConnectのIDプロバイダー側をDjangoで実装する⑤

以下の続き kamatimaru.hatenablog.com トークンエンドポイント トークンエンドポイント(=認可コードを受け取ってトークンを発行するエンドポイント)を実装していく。 https://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint ディスカバリへ…

勉強のためにOpen ID ConnectのIDプロバイダー側をDjangoで実装する④

以下の続き kamatimaru.hatenablog.com 同意処理 前回は同意画面の表示までできたので、同意をsubmitした際に認可コードを返す処理を実装していく。 最終的には以下のようなステータス302のリダイレクトレスポンスを返す。 HTTP/1.1 302 Found Location: htt…

勉強のためにOpen ID ConnectのIDプロバイダー側をDjangoで実装する③

以下の続き kamatimaru.hatenablog.com ユーザー情報提供同意画面 ユーザー情報提供同意画面(以降「同意画面」とする)を実装する。 Viewの実装 同意画面のViewと雛形のテンプレートを作成して、urlを追加する。 views.py class ConsentView(View): def get(s…

勉強のためにOpen ID ConnectのIDプロバイダー側をDjangoで実装する②

以下の続き kamatimaru.hatenablog.com 認可エンドポイント RPのクライアントの作成 client_idの存在チェックをしていないので、RPのクライアントを作成できるようにしていく。 まずはModelを定義する。クライアントは一意なので、nameとclient_idにunique=T…

勉強のためにOpen ID ConnectのIDプロバイダー側をDjangoで実装する①

前提 Open ID ConnectのRelying Party側(以降RP)のフローをやってみる教材はAuth屋さんの本などがあるが、RP側の挙動をやってみるだけではまだまだOIDCの理解が深まっていないと感じる。 そこで年末年始ということもあり、DjangoでOIDCのIdP側をブログを書き…

terraform importで指定するオプションは対象のサービスによって異なる

tech.layerx.co.jp 上記の記事を参考にさせて頂いて まずはAWSマネージメントコンソール上でインフラを作成する terraform importで取り込む 作成されたtfstateを参考にしつつオプションを調べる という手順でTerraformの定義を実装していた。 その際にterra…

AIでコンテキストマップを生成できないか試してみた

概要 新しいシステムに関わると、システムの概要を把握するためにモデルのコードやER図を眺めたりする。ただ、プロダクションレベルのシステムはテーブル数が多いので片っ端から読んでいてもなかなか全貌を把握するに至らない。 従って、DDDなどの文脈などで…

DjangoユーザーがRails入門してみて感じた違い

はじめに 私は仕事で3年以上Djangoを使っているが、副業でRailsを使う機会があった。同じそれぞれの言語を代表するフルスタックフレームワークだからそんなに違わないと思っていたらけっこう違ったので、感じた違いをメモしておきたい。 目次 フロントエン…