2017-06-23 7 views
0

ストライプアカウントのように、ユーザー(個人)は1つ以上のアカウント(ビジネスアカウント)へのアクセス許可を持っています。IdentityServer4:アクセストークンに特定のアクセストークンに対するアクセス許可があるかどうかを確認するにはどうすればよいですか?

  • ユーザーアリスは完全な読み取りがあり、ビジネスXのための書き込み権限を、Y、Zの
  • ボブは唯一のビジネスXへの読み取りアクセス権を持つユーザー。

アカウントaccess_token_bを持つBobがAPI経由でアカウントプロファイルを更新したいと考えています。

IdentityServer4を使用すると、bobのアカウントaccess_token_bにAPIコントローラ経由でアカウントプロファイルを更新する権限があることをどのように確認できますか?

答えて

0

アカウントを管理するために独自のAPIを使用する必要があります。アイデンティティ・サーバー(オープンID接続)apiはアカウントを変更(管理)するためのものではありません。彼らはパズルの認証部分を扱っているだけです。ユーザーの格納と変更には、aspnet Identityのようなライブラリを使用する必要があります。ユーザー管理のためのUIを含むIdentityManagerのようなツールもあります。

したがって、アカウント管理APIを作成した後(またはIdentityManagerのようなツールを使用して)、着信アクセストークンを検証し、トークン内のクレームをチェックしてトークン所有者に付与されているアクセス許可を確認する必要があります。それに基づいて、アクセス権のあるアカウントだけを変更する権限をユーザーに与える必要があります。次に、ユーザー管理ライブラリ(ほとんどの場合asp.net ID)を使用してアカウントを更新します。

関連する問題