3

RAML を使用して Web サービス API を作成しています。

2 つのセキュリティ スキームを使用して RAML を作成しました

  • OAuth 2.0
  • カスタム

私の最初のアプローチは、リクエスト内で特別なパラメーターを送信し、承認タスクをいずれかの承認エンジンに委任するリクエストパラメーターに基づいて承認を処理することでした。しかし、OAuthサーバーにリクエストが行われたときに、それがスローされましたNull Pointer Exception
次に、異なる認証スキームの認証リクエストには異なる URI が必要であることを知りました。たとえば、oAuth のリクエストが行われた場合、URI は /api/oauth2/authorize?parameters のようになり、他のスキームの場合、oauth 1.0 は /api/oauth1/ になる可能性があります。認可?パラメータ

これを実装するために、異なる URI パターンを持つ 2 つの APIkit ルーター フローを追加しました。

ここに画像の説明を入力

添付画像の最初の APIKit フローはカスタム承認用で、2 つ目は OAuth 用です。画像からわかるように、2 番目のフローで APIkit ルーターの前に OAuth バリデーターを追加しました。

各リクエストを認証できるように、OAuthバリデーターをその場所に配置するこれが正しいアプローチであるかどうかを知りたいですか? または、リクエストが行われた後に OAuth が個々のリソースのリクエストを検証するように、OAuth バリデーターを各リソース フローの最初の要素にする必要があります。また、OAuth では、最初にリクエストが認証され、次に保護されたリソースへのアクセスが許可されることをどこかで読んだことがあります。その場合、APIKit ルーターの前に OAuth バリデーターを追加するという私のアプローチは正しいと思います。しかし、私はそれについて確信が持てず、このシナリオ全体で 2 番目のアドバイスが必要でした。

ありがとうございました。

4

1 に答える 1