誰かが次のようなエンドポイントを使用する場合、detect-browser JavaScript をスキップするのは理にかなっていると思いますか?
https://sitename.com/user-api-key/new
彼らはアプリからリダイレクトされている可能性が高いので、JavaScript エンジンが十分に機能しているかどうかを確認することはほとんど意味がなく、アプリ内での使用のために API キーを生成したいユーザーをブロックするだけです。
誰かが次のようなエンドポイントを使用する場合、detect-browser JavaScript をスキップするのは理にかなっていると思いますか?
https://sitename.com/user-api-key/new
彼らはアプリからリダイレクトされている可能性が高いので、JavaScript エンジンが十分に機能しているかどうかを確認することはほとんど意味がなく、アプリ内での使用のために API キーを生成したいユーザーをブロックするだけです。
しかし、機能させるにはログインが必要です
問題は、user-api-key/new がログインページにリダイレクトされると、ブラウザのチェックが開始され、ログインして API キーを生成する代わりに、ブラウザが古すぎると文句を言うことです。API キーを生成するためだけにユーザーがここにいる場合、これらのチェックをスキップすることはできますか?
はい、それが問題です。ログインのJavaScriptを使用しない方法を求めているようなものです。これは、サポートする膨大な数の認証オプションとスパム防止策を考えると、信じられないほど複雑です。
JavaScriptレスである必要はありません。ログインフォームには、サイトの他の場所で使用されているような派手な機能はほとんど必要ないのではないでしょうか?少なくとも、認証/oauth2_basicへのパススルーは、99%がヘッダーとリダイレクトで行われるため、必要ないようです。SailfishOSの私のアプリは、.jsonとapi-keyの受け渡しで完全に機能しており、それは素晴らしいことです。なぜなら、そこでのブラウザはesr78 Firefoxベースで、ほとんどのDiscourseインスタンスでブロックされますが、api-keyを取得する唯一の方法は、デスクトップで200文字以上のURLを手動で入力し、その結果のコードを電話に貼り付けてデコードすることのようです。まったくばかげています。
5件の投稿が新しいトピックに分割されました:User API keys should use OAEP padding
皆さん、こんにちは。サードパーティのクライアントを使用してログインするためにUser APIキーを使用していましたが、問題なく動作していました。しかし、一部のサイトでエラーメッセージが表示されるようになりました。
メッセージは以下の通りです。
おっと
このディスカッションフォーラムを支えるソフトウェアで予期せぬ問題が発生しました。ご迷惑をおかけして申し訳ありません。
エラーに関する詳細情報が記録され、自動通知が生成されました。確認いたします。
追加のアクションは必要ありません。ただし、エラー状態が続く場合は、エラーを再現するための手順を含め、追加の詳細をサイトのフィードバックカテゴリにディスカッションを投稿することで提供できます。
最近のバージョンでこの機能に変更はありましたか?
「ログイン」ということでしょうか? ディスコースコネクトの方が良い方法だと思いますが、実際には何をしているのか分かりません。
エラーに関する詳細情報を得るには、ログを確認する必要があります。
カスタムUIを実行しているため、ユーザーの代わりにアクションを実行する必要があります。そのためにユーザーAPIキーを使用しています。
そのために、次のURLを使用しています。
https://discussion.fedoraproject.org/user-api-key/new?auth_redirect=discourse%3A%2F%2Fauth_redirect&application_name=DisCorkie&client_id=019695ed-8b7e-71b1-b55e-7efe8be1e9ae&scopes=read%2Cwrite%2Cnotifications%2Cpush%2Csession_info&push_url=https%3A%2F%2Fherxbktlunuawewahana.supabase.co%2Ffunctions%2Fv1%2Fdiscourse-webhook&public_key=-----BEGIN+PUBLIC+KEY-----%0AMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAkD%2BNgNuAMv2ZSSR95V1B%0Afla9n3HbCPxAFB5%2B%2BitC9hlWEOfXZPToWAax5DuNUitzikLVWrldyRe%2BfgtS5F3Q%0AGvuzCtnFwyBNoIkuUva8uCzQ4K7T9RgnWIIfNsx2ONuk2GLhEeLUgb46F8VULbD3%0A4eExqEYoGK7tBxr3%2FnVYO%2FogOaibzhoZRiSh69gq6ptXWN9Pka%2Fb3%2Fp2hWF5MSwG%0AK39LiZKOzaga%2BsA0lA0BgdAw7rvnUBfpikL33mqtEJ6JDPhG5KIvBxY2m18T63cX%0AKakxrmZzWwibN%2Bzboe51Z49gtxJIiybaj5Yn7izPj39DKwiv5k%2FaSWFAe8FO0doQ%0AxVoh9qVhlvPq3DdLhcjC0djVNti3X%2BYC2bwUDSp%2BFhrLh%2BsYribCAp6P8TyZ5TZy%0Aw0WnDCatK%2FzPq53Fja2OUa5N43Zr4rSiyQMSdBaeOJwF33nOAHwztkDwOJvSh6fx%0Ag2mTR15Qe%2FRh6yY4fB610mcut%2BBU1oV4SEbxHYyroTaS06oO6k4EmvgJTiWK%2BVVC%0AfMGgFvoPXktKckK0q7xj32PiSTVlYURb27ap7yAHzFKePYkJdo0Sd3Jzghe1RdSg%0A4teQs4VecqIe%2Bv6p7BurFgwlKZyWN0n89u8%2BXihwwwOcVp1UHblqbl%2FKYi5%2BgK6O%0AyahsLRGMGllNIsqarYCZ9nkCAwEAAQ%3D%3D%0A-----END+PUBLIC+KEY-----%0A&nonce=-1646128802
ここで
パラメータ
auth_redirect: discourse://auth_redirect
application_name: DisCorkie
client_id: 019695ed-8b7e-71b1-b55e-7efe8be1e9ae
scopes: read,write,notifications,push,session_info
push_url: https://herxbktlunuawewahana.supabase.co/functions/v1/discourse-webhook
public_key:
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAkD+NgNuAMv2ZSSR95V1B
fla9n3HbCPxAFB5++itC9hlWEOfXZPToWAax5DuNUitzikLVWrldyRe+fgtS5F3Q
GvuzCtnFwyBNoIkuUva8uCzQ4K7T9RgnWIIfNsx2ONuk2GLhEeLUgb46F8VULbD3
4eExqEYoGK7tBxr3/nVYO/ogOaibzhoZRiSh69gq6ptXWN9Pka/b3/p2hWF5MSwG
K39LiZKOzaga+sA0lA0BgdAw7rvnUBfpikL33mqtEJ6JDPhG5KIvBxY2m18T63cX
KakxrmZzWwibN+zboe51Z49gtxJIiybaj5Yn7izPj39DKwiv5k/aSWFAe8FO0doQ
xVoh9qVhlvPq3DdLhcjC0djVNti3X+YC2bwUDSp+FhrLh+sYribCAp6P8TyZ5TZy
w0WnDCatK/zPq53Fja2OUa5N43Zr4rSiyQMSdBaeOJwF33nOAHwztkDwOJvSh6fx
g2mTR15Qe/Rh6yY4fB610mcut+BU1oV4SEbxHYyroTaS06oO6k4EmvgJTiWK+VVC
fMGgFvoPXktKckK0q7xj32PiSTVlYURb27ap7yAHzFKePYkJdo0Sd3Jzghe1RdSg
4teQs4VecqIe+v6p7BurFgwlKZyWN0n89u8+XihwwwOcVp1UHblqbl/KYi5+gK6O
yahsLRGMGllNIsqarYCZ9nkCAwEAAQ==
-----END PUBLIC KEY-----
nonce:-1646128802
/login にリダイレクトされ、ブラウザは /session/csrf を正常に呼び出します。ここまでは問題ありません。
しかし、ブラウザが /auth/oauth2_basic を呼び出すと 500 エラーが発生します。
レスポンスは以下のエラーメッセージのみで、追加情報はありません。
Discourse Hub も同様の認証フローを行っていますが、正常に動作します。何か見落としていることはありますか?
/logs に何かありますか?
調査の結果、この問題は4096ビットのキーを使用していたために発生していたことがわかりました。2048ビットに変更したところ、正常に動作するようになりました。
このキーサイズは必須ですか?どこかに記載されていますか?