IdentityServer4が存在し、認証に関して多くの点でより簡単に人生を送ることができて非常にうれしいですが、私は問題と多くの議論を見つけました。コミュニティ内の主張に役割を追加する。ASP.netアイデンティティーロールをIdentityServer4 IDトークンに組み込む方法
私の要件は単純です:
- 私は、ユーザーの身元を格納するためのシステム(名称、PWD、役割、携帯電話を必要とする認証および承認
- を必要とするアプリケーション(xamarinフォーム)を開発... ) - > ASP.netアイデンティティが
- が、私は私のユーザーを認証するシステムが必要 - > IdentityServerユーザーあたり4つの
- 役割は非常に(ユーザー/ admin)を制限していると私はAPIのバックエンドを必要とする
- を変更しないと〜私はに異なる設定をしようと数え切れないほどの時間を費やしてきた私は、[承認(役割は= "管理者")を]を使用して、いくつかのAPI/MVCコントローラ
へのアクセスを制限したいMVCのadminサイト(asp.netコア)
私はまた、読んで何十時間も費やしましたが、実装に関するIdentityServer4.AspIdentityのバージョンがバージョンv1.0.0以降に大きく変わったと感じています。
これについて多くのことを読んだ後、2ヶ月前に説明された解決策のいくつかはもはや有効ではないように見えるため、これを実際にどのように実装するかは不明です。唯一 アイデンティティトークンを要求し、AlwaysIncludeInIdTokenを使用して、IDトークンへの
- 役割:
だから、今の私は2つのパスがあると考えていますか?
- クライアントにuserinfoエンドポイントを使用して ロールを取得させ、何らかの理由で[承認(Roles = "Admin")]を使用してチェックするためにhttpcontext(?)にmvcを注入しますか?
とにかく、これは私の前提です。
私たちはこれを永続的な方法で実装することができるように、手助けして説明してください。いくつかの実行可能な例も素晴らしいでしょう。
を使用すると、役割が存在することを確認することができますトークンで?彼らがそうするなら、あなたの痛みの原因を知るかもしれません。 – Lutando
いいえ、私はいかなる主張(ロール、カスタムクレーム...)も追加できませんでした。だから私は多くを研究し、以下に述べる2つの解決策を見つけました。私は、Identity Serverレベルとクライアントレベルの両方でクレームを追加できるようになりました。もちろん、これをより良くするための提案はいつでも歓迎します。 – Laobu