Kassy0220 / fjord-minutes

This is an application for taking minutes of fjord-bootcamp's team development.
0 stars 0 forks source link

[技術検証] GitHub認証について調べる #19

Closed Kassy0220 closed 1 month ago

Kassy0220 commented 8 months ago

議事録編集ページを開く際にGitHub認証を行うようにしたい。 GitHub認証を行う方法について調べる。

Kassy0220 commented 2 months ago

以下のGemを利用すれば、DeviseでGitHub認証を行う事が可能。

実装の概要について

OmniAuthでログイン状態を保存する方法。

パラメーターを渡す方法

Kassy0220 commented 2 months ago

GitHubから取得した情報のなかで、Memberモデルに以下の値を保存させる様にしようと考えている。

ただし、一つ懸念がある。 議事録にユーザー名を表示する際、次の様な形でMarkdownのリンクを作成する。 [@Kassy0220](https://github.com/Kassy0220)

GitHubアカウントのnamenicknameが違う場合は、次の様なリンクが作成されていることを確認できた。 (nameとは設定から変更できる名前のこと。)

そこで、議事録のユーザー名のリンクはどの様な形で保存したら良いか、駒形さん町田さんに確認する。

Kassy0220 commented 2 months ago

自作サービス進捗報告会で確認したところ、リンクのユーザー名はnicknameを表示することになった。

GitHub認証の目処が立ったため、このIssueをcloseします。

Kassy0220 commented 2 months ago

Devise + omniauth でGitHub認証を実装する場合、複数モデルに対応することができなかった。 (DeviseのWikiに複数モデルの対応方法が記述してあったが、上手くいかなかった。詳しくはこちらを参照)

そこで、Devise以外の方法でGitHub認証を実装する方法を調査する(別のgemの利用または自前で実装)。

Kassy0220 commented 1 month ago

Devise + omniauthでGitHub認証を実装しつつ、複数モデル(MemberAdmin)でログインすることができた。 DeviseのGitHub認証でも複数モデルに対応することができたため、このままDeviseで実装を行う。

認証方法は改めてDeviseを利用することにしたので、このIssueをクローズします。