2016-06-29 14 views
0

私は2種類のAPIを持っています。クライアントの一部が当社に登録されている場合、その一部にアクセスすることができます。ユーザーにauhorization_grantコードを要求してから、それらのAPIにアクセスするためのaccess_tokenを取得する必要はありません。残りのAPIは通常のoauthフローによって保護されます。ここで私を助けるSpEL式はありますか? クライアントはこの要求に対してどのような詳細を渡す必要がありますか?登録されたクライアントがいくつかのAPIにアクセスする方法を教えてください。

答えて

1

クライアントが自分の代わりにAPIにアクセスし、ユーザーの代わりにアクセスしていない場合、クライアントの資格情報は適切であると思われます。

その後、あなたは自分自身

@PreAuthorize("!#oauth2.isClient()") 
+0

などのリソースにアクセスするクライアントを防ぐ。しかし、クライアントがaccess_tokenはを持っていたら、使用するために事前認証の注釈でのOAuth2メソッドレベルのセキュリティ式「!#のoauth2.isClientを()」を使用することができますclient_credentials grant_type、彼女はそのaccess_tokenを持つAPIにアクセスできますか? – mantri

+1

oauth2メソッドレベルのセキュリティ式が構成されている場合は、クライアントがリソースに自分自身としてアクセスするのを防ぐために "!oauth2.isClient"を使用できます。 –

+0

ちょうど私が必要としたもの。どうもありがとうございます。 '!#oauth2.isClient()'は正しいところです。 '@PreAuthorize("#oauth2.hasScope( 'listing')と!#oauth2.isClient() ")は私が正確に使ったものです。 回答を編集していただけますか?私はこれを正解とマークします。 :) – mantri

関連する問題