問題タブ [identityserver4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Identity Server 4 を使用して、ビューとリソースの両方を含む MVC コア アプリでアクセス トークンを更新するベスト プラクティス
多くの ajax 呼び出しを含む MVC コア アプリケーションを使用する場合に、アクセス トークンとリフレッシュ トークンを最適に実装する方法について読んでいます (そしてビデオを見ています)。私はそれが正しかったと思いますが、これを行うより良い方法があるかどうか知りたかっただけです. この情報を探している人の参考になるように、この投稿を編集します。
私のセットアップ: 多くの JavaScript を使用した MVC Core アプリケーションがあります。JavaScript は、ajax 呼び出しを使用して json を取得したり、アクションを呼び出したりしています。
ユーザーが Cookie 認証を使用して API にアクセスできないようにするため、app.Map を使用してアプリケーションを 2 つの部分に分割しています。ユーザーが ID トークンを使用してビューにアクセスできるものと、アクセス トークンを必要とするものです。また、アクセス トークンを更新する必要がある時間を保持するために Cookie を追加しています。
Startup.cs (重要ではない部分を削除しました)
コントローラー アクションへのすべての ajax 呼び出しは、次の URL /api/[Controller]/[Action] を使用して行われます。
ID トークンを使用して API にアクセスできるようにしたくないので、Authorize(ActiveAuthenticationSchemes = "Bearer") 属性もコントローラー アクションに追加します。したがって、JavaScript によって呼び出されるコントローラー アクションは次のようになります。
JavaScript が API リソースにアクセスする必要がある場合、コントローラーは最初にアクセス トークンを取得し、カスタム JavaScript init メソッドを使用してそれを JavaScript に挿入します。
この C# メソッドは、アクセス Cookie の更新と取得を担当します。
すべての $.ajax で、次のパラメーターを追加しました。
それでおしまい。デフォルトのアクセス トークンの有効期限は 1 時間です。私はいつもその半分の時間後にそれをリフレッシュします。
今私の質問に:
- 何らかの方法でコードを改善できますか?
- このようにして、セキュリティ関連のリスクが見られますか?
- OnTicketReceived でアクセス トークンを取得できますか?
ssl - AWS で IdentityServer4 を呼び出すと、「IDX10108: 指定されたアドレスは HTTPS スキームに従って有効ではありません」というメッセージが表示される
IdentityServer4 を使用して Identity Server を実装し、AWS にデプロイしました。ELB で https を有効にするまではうまく機能します。クライアントが認証を試みると、次のエラーが発生します。
私が読んだところによると、クライアントは証明書に満足していません。これは、ID サーバーのホスト名と証明書内の名前に関連している可能性があります。件名が「*.mycompany.com」の有効なワイルドカード証明書があります。権限を持つクライアントを「https://int.mycompany.com」として構成したため、一致しているように見えます。
また、これらの負荷分散構成で、一部のヘッダーをミドルウェアに転送する必要があることを読みましたが、それがどのように機能するかは正確にはわかりません。
cookies - 認証 Cookie の有効期間を設定できませんでした - IdentityServer4
IdentityServer4
認証 Cookie の有効期間を設定しようとしています。これは私のクライアント構成です:
mvcクライアントでの私のConfigure
方法は
IdentityServer4 サンプルからの以下のサンプルを使用して、IdentityServer4 を学習しています。
IdentityServer4.Samples/Quickstarts/5_HybridFlowAuthenticationWithApiAccess
Cookie の有効期限、アクセス トークンの有効期限、ID トークンの有効期限、認証コードの有効期限は既に設定しています。ただし、Cookie の有効期間はブラウザでセッションとして表示されます。
下の画像をご覧ください
やるべき設定がありませんか?
どんな助けでも大歓迎です。
azure - Azure App Service の ID プロバイダーとしての IdentityServer 4
このリンクによると、Active Directory、Google、Facebook などのすぐに使用できるプロバイダー以外の別の ID プロバイダーを使用できます。Azure で Web アプリとしてホストされている IdentityServer4 があり、それをカスタム ID プロバイダーとして追加したいと考えています。しかし、Azure ポータルでモバイル アプリ サービスの承認/認証ブレードに移動すると、カスタム ID プロバイダーのオプションがありません。
カスタム ID プロバイダーを追加できるチュートリアルが Web で見つかりません。Azure に記載されているカスタム認証ロジックを使用するのではなく、カスタム ID プロバイダーを追加する方法を検討していることに注意してください。どんな助けにも感謝します。ありがとうございました。
asp.net-core - 許可のストレージ メカニズムが指定されていません
私は IdentityServer を初めて使用し、これを設定するのに少し問題があります。
ここでは説明しませんが、ASP.NET Identity または EntityFramework は使用できません。認証が必要なユーザー用のカスタム データベースがあるため、サンプルを取得し、カスタム永続ストアの InMemoryUsers を切り替えようとしました。
これが私のConfigureServicesメソッドです:
私はまだいくつかのことをテストしているので、この方法が不完全であることは知っていますが、アプリケーションを実行すると、次のエラーが発生します。
System.InvalidOperationException 許可のストレージ メカニズムが指定されていません。'AddInMemoryStores' 拡張メソッドを使用して、開発バージョンを登録します。
明らかに、本番環境の実装にメモリストアを使用したくありませんが、これを修正するために何をする必要があるかわかりません。
.net-core - 複数の IdentityServer4 サービスでのベスト プラクティス
2 つの ID サーバーと 1 つの Web API があります。私がやろうとしているのは、API を 1 つまたは両方の IdentityServer で認証し、1 つがダウンした場合に切り替えることができるようにすることです。可能であれば、実行時に新しい IdentityServer を追加できるようにしたいと考えています。
ここにベストプラクティスはありますか?
今のところこんな感じです。
ポート 5000 で IdentityServer をシャットダウンすると、API を使用できなくなります。これは予想されることです。