Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

traQのAPIアクセスにサーバー設定のAccessTokenを使う #545

Merged
merged 4 commits into from
Jul 9, 2024

Conversation

ras0q
Copy link
Member

@ras0q ras0q commented Jun 21, 2024

ユーザーのトークンを使ってtraQから都度情報を取得するのではなく、サーバーで1つトークンを持ちそれを使って情報を取得するようにしました

@ras0q ras0q requested a review from iChemy June 28, 2024 00:59
@iChemy
Copy link
Contributor

iChemy commented Jun 30, 2024

質問なのですが,

これ,今までユーザー単位でアクセストークンをデータベースに保持して置いて
traQのリソースにアクセスしたいときにそのデータベースに保存されていたアクセストークンを用いて
それを実現していたのを

新しく knoQ サーバーに環境変数を通してサーバー専用のアクセストークンを持たせて,
ユーザー単位でのアクセストークンのかわりに,
そのアクセストークンを用いて traQのリソースにアクセスできるようにしてるんですよね?

その場合,knoQ サーバーが持つアクセストークンってどうやって発行するかとかよくわかってないです.
あと,knoQ サーバーが持つアクセストークンの有効期限が切れたとき毎回環境変数を設定しなきゃいけないと思うんですがその間サービスがうまく機能しなくなったりしませんか?

@ras0q
Copy link
Member Author

ras0q commented Jul 1, 2024

現状はBotのAccessTokenが無期限なのでそれを使う方法やtraQのoauth2_tokensテーブルに直接トークンを作成してもらう方法があります
traPtitech/traQ#2403 がマージされるとClient Credential Flow(特定のユーザーに紐づかない形で認証する、knoQでこれまで使っていたのはAuthorization Code Flow)が使えるようになるのでそれでいい感じにできると思います(多分refresh tokenを使ったりするんですがここら辺はあまり詳しくない)

@iChemy
Copy link
Contributor

iChemy commented Jul 1, 2024

こういうときってアクセストークンが流出した場合は...
とかって考えた方がいいんですか? (そもそもそんなことが起こるのかとかわからないけど)

@ras0q
Copy link
Member Author

ras0q commented Jul 1, 2024

0%とは言いきれないんですが現状でもユーザーのトークンで好き放題できる(なんならユーザーに紐づいてるので個人情報まで取れる可能性もある)ので、流出したときはそのときでユーザーのトークンを止めるかシステムのトークンを止めるかの違いだと思って大丈夫です

Copy link
Contributor

@iChemy iChemy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

確認しました

ちなみにこれ merge したら staging の方の環境変数を設定しないといけない感じですよね?

@ras0q
Copy link
Member Author

ras0q commented Jul 9, 2024

/srv/knoq/.envに既に置いてあるのでマージして検証しますね

@ras0q ras0q merged commit 04e012d into main Jul 9, 2024
6 checks passed
@ras0q ras0q deleted the breaking/use-common-traq-access-token branch July 9, 2024 05:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants