jmlord
(Jean-Michel Lord)
1
こんにちは。
ここで参照されているトピックに問題を分割しています。Discourse OAuth2 Basic - #304 by nodomain
ここで Discourse OAuth2 Basic - #316 by jmlord (私です)
そしておそらくここで User avatar not updating on re-log in
アカウントは正常に作成されますが、アバターが含まれていません。サンプル応答:
Body: {
"access_token":"...",
"token_type":"bearer",
"expires_in":"3600",
"scope":"profile",
"profile" : {
"id":1234,
"email": "...",
"name": "...",
"picture": "https://somedomain.com/somevalidpicture.jpg"
}
}
変数 oauth2 callback user info paths には値 avatar:profile.picture が含まれており、次のログに表示されるように正しく解析されています。
OAuth2 Debugging: after_authenticate response:
creds: {"token"=>"...", "expires_at"=>1702053692, "expires"=>true}
uid: 1234
info: {"email"=>"...", "name"=>"...", "avatar"=>"https://members.geobon.org/pages/profile-picture/62146-17077.jpg"}
extra: {}
画像の住所が正しいこと、そしてそのサイズが300x300であることを確認しました。こちらがサンプルです。
画像があるサーバーのログを確認しましたが、アカウント作成および初回ログイン時にこの画像をダウンロードしようとした形跡はありませんでした。
これが私たちにとって機能しない理由について何かアイデアはありますか?(明らかに他の設定では機能しています…)
「いいね!」 1
jmlord
(Jean-Michel Lord)
3
Lillianさん、ご協力ありがとうございます。
引用された投稿は、エンドポイントがファイルへの直接リンクではない場合のケースのようです。ここでは、ファイルリンクを直接提供するため、少し異なります。
また、これはいくつかのケースで機能するようです。
また、oauth2 callback user info paths プロパティのツールチップには次のように記載されています。
トークン応答内の他のユーザープロパティへのパス。サポートされているプロパティは、name、username、email、email_verified、avatar です。形式は property:path です。例: name:params.info.name
URL経由でない場合、どうすればよいでしょうか?ファイルをBase64エンコードする必要がありますか?
編集:2段階プロセスを試してみます。画像アバターの結果がトークン応答ではなく別のクエリに含まれるようにし、再度投稿します。
jmlord
(Jean-Michel Lord)
4
わかりました。2段階のプロセスで動作させることができました。ツールチップが間違っているか、プラグインのその部分にバグがあるようです。
oauth2 callback user info paths : … サポートされているプロパティは name、username、email、email_verified および avatar です。
後者は正しくありません。アバターを機能させるには、ユーザー詳細のJSONエンドポイントを追加し、「OAuth2のユーザーJSONを取得」にチェックを入れて、oauth2 json avatar path プロパティに入力する必要があります。
「いいね!」 1