私はUberRUSH three-legged-oauthとwebhooksに関する質問があります。UberRUSHアクセストークンでuserIdを取得する
UberRUSHユーザーに代わって動作するマルチテナントアプリケーションを開発しています。 私たちはthree-legged-oauthフローを実装しており、webhooksを使用して配信ステータスを更新したいと考えています。ウェブフックのドキュメント(https://developer.uber.com/docs/deliveries/guides/webhooks)で
私はUberRUSHイベントが配信ID(meta.resource_id
)とユーザID(meta.user_id
)に関する情報が含まれていること読んで。
私たちはエンティティを別々のテナント(UberRUSHユーザーごとに別々のテナント)に内部的に保管しているので、イベントのuser_id
をテナント名にマッピングする必要があります。 このようなマップを構築するために私が考えることができる唯一の方法は、ユーザーのアクセストークンに基づいています。それをデコード(JWT)し、sub
のプロパティ(件名)を読むことができます。ユーザーのIDが含まれていると仮定します。
私の質問は、その方法でユーザーのIDを取得するために、有効で安全(それに依存する可能性があり、予測可能な将来変更されません)ですか、それとももっと簡単な方法ですか?
回答ありがとうございます。このアプローチはうまくいくかもしれませんが、失敗する可能性があるコールを1つ追加する必要があります。 userIdだけが必要な場合、デコードアクセストークンの解決法は簡単で安全ですか?このソリューションの唯一の欠点は、Uberがこのようにすることを推奨していない可能性があることです。 –
ドキュメントには[アクセストークンの長さは時間の経過とともに変化する可能性があります](https://developer.uber.com/docs/riders/guides/authentication/introduction#debugging-authentication-errors)と記載されています。この変更を行う予定はありませんが、JWTフォーマットをそのまま維持する保証はありません – agraebe