コントローラのユーザー権限を確認するために使用されるクレームには多くの問題があります。.netコアを使用してクッキーにJWTを保存する方法
のApp構造
私たちのバックエンドは、フロントエンドが反応し、今ため我々はGoogleの有効な電子メールを使用してGoogleのAPIを使用してログインをのみを許可し、.NETのコアです。 JWTを生成してブラウザのlocalStorageに格納し、リクエストごとに送信します。また、ロールはありません。ログに記録されている場合は管理者です。
アプリの「スケルトン」を実行した開発者はいなくなりました。これはセキュリティ上の懸案事項で初めてのことです。
新しい要件
私たちは、役割と権限を実装するために今必要な、MSが1本のためにクレームを使用する予定らしいです。私はこれを行い、それらの主張をjwtに追加してから、設定に関するポリシーを追加し、実際に働いた。特定の要求がある場合は、特定のコントローラーまたはメソッドにアクセスできます。そうでない場合、サーバーは403エラーを返します。
しかし、実際の管理者の役割でログインし、devtoolsを使用してlocalStorageの値をコピーした後、ほとんどの権限のないユーザーでログオフして戻しました。私はローカルのストレージエントリを(再び、devtoolsを使用して)貼り付けたときにすぐにすべてのクレームを取得し、管理者ができるすべてのコントローラとメソッドにアクセスできました。
その後のHttpOnlyを使用する必要があります行くための適切な方法と思われる、セキュアなクッキー、「SameOriginが」真(これはシングルサインオンをどのように影響するかわからない)に設定し、おそらくで、私はを行う方法をを理解していませんそれ。私はブログ記事を見て、アプリをダウンロードしても(実行することはできませんでしたが、私のアプリケーションにコードをコピーしました)、私は失敗し続けます。また、コントローラのポリシーをチェックするときにクッキーを使用するために何かをする必要があるかどうかもわかりません。
誰も私にこの手を差し伸べることはできますか?