問題タブ [identityserver3]
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# - UseOpenIdConnectAuthentication 経由でログインする場合、loginInfo は常に null
標準の MVC Auth の例 ( http://www.asp.net/mvc/overview/security/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and- openid-sign-on ) を使用して、Thinktecture IdentityServer のインスタンス ( https://github.com/IdentityServer/IdentityServer3.Samples/tree/master/source/Simplest%20OAuth2%20Walkthrough ) への OpenID Connect 認証を使用します。
IdentityServer のスコープに「openid」スコープを追加しました。https://github.com/IdentityServer/IdentityServer3.Samples/blob/master/source/MVC%20Authentication/EmbeddedMvc/Startup.csのサンプル コードを使用して、余分な呼び出しを userinfo エンドポイントに追加しました。
認証ミドルウェア チェーンの上位には (MVC Auth の例のように)UseCookieAuthentication
とUseExternalSignInCookie
.
にブレークポイントを設定すると、OpenIdConnectAuthenticationNotifications.SecurityTokenValidated
すべてのクレームが適切に受信されていることがわかります。したがって、IdentityServer との通信は正しく行われています。
しかし、私がAccountController.ExternalLoginCallback
電話に出たとき
常に null を返します。
Google OAuth2 でログインすると null になりません。
UseOpenIdConnectAuthentication
Cookie 情報を設定する (または設定しない) 方法と、UseCookieAuthentication
それを抽出する方法に不一致があると思われます。しかし、私はこれを解決する方法がわかりません。
identityserver3 - IdentityServer3 - UserInfo エンドポイントが無効なトークンを取得する
私は IdentityServer3 を初めて使用し、セットアップを開始したばかりです。順調に進んでいるようで、Kevin Dockx の Pluralsight コース ( http://www.pluralsight.com/courses/building-securing-restful-api -aspdotnet)--カスタム ユーザー サービスを使用しています。
MVC アプリから ID サーバーへの認証はうまく機能しますが、userinfo エンドポイントを呼び出すと、常に Unauthorized が返され、応答の Bearer が「無効なトークン」になります。
元の OpenIdConnectAuthentication 呼び出しから取得したアクセス トークンを渡します。JWT デバッガーで次のようにデコードされます。
また、応答コンテンツが「RunToCompletion」のようなもので返されることにも気付きました。デバッグの可能性を確認するために Github からソースをダウンロードしましたが、実行している NuGet パッケージ (1.6.2) よりも新しいと思われます。
何か間違っているのではないかと思いますが、まだ確認できていません。どんな助けでも大歓迎です。
関連すると思われるコードを含めました。
ID サーバーから:
以下は、MVC クライアント アプリからの関連コードです。response.StatusCode は常に Unauthorized であり、以下の「無効なトークン」ベアラー メッセージが表示されます。
servicestack - System.Security.Claims.Claim の逆シリアル化の問題
私は oAuth サーバーを実装しており、更新トークンを保存する必要があります。これを行うには、(現時点では) トークンを JSON にシリアル化することを選択しています。
JSON にはリハイドレートに必要なすべてが含まれていることがわかりますが、token.FromJson() で逆シリアル化すると、埋め込まれたクレームが正しく再構築されません。
これまでのところ、JsonConverter から継承してクレーム コンバーターを作成することを検討しましたが、グローバル JsConfig を調整してそれを利用する方法がわかりません:(
誰かが私を良い方向に向けることができますか?
c# - IdentityServer3 を取得して既存のユーザー SQL データベースを使用する
既存のユーザー データベースに対してユーザーを認証しようとしています。ユーザー テーブルを持つ既存のデータベースがあり、Identity Server がこのデータベースを参照してユーザーを認証するようにしたいと考えています。
MembershipReboot と AspNetIdenetity の例を見つけましたが、独自のユーザー データベース マッピングを作成する方法について混乱しています。
Facebookなどの外部プロバイダーを作成しようとしていません
これを行う方法についてのアイデアやチュートリアルを見た人はいますか?
identityserver3 - Constants.ClaimTypes のリファレンス
IdentityServer3 をスタンドアロン ID サーバーとして実行しています。
認証に Cookie と OpenIdConnect を使用する別の MVC クライアントがあります。とりわけクレーム変換を設定しようとしており、次のようにさまざまなクレーム タイプを参照したいと考えています。
IdentityServer3 では、これらを使用して参照していますが、MVC クライアントでは、これらの文字列定数だけThinktecture.IdentityServer.Core.Constants
を参照する必要はないと思いますか? Thinktecture.IdentityServer3
この場合の使用が推奨されるクライアント ライブラリはありますか? 私はThinktecture.IdentityModel
いくつかの .NET 参照を試しましたが、.NET を複製しているようには見えませClaimTypes
んThinktecture.IdentityServer.Core.Constants
。私が見つけた最高のものはSystem.Security.Claims.ClaimTypes
、いくつかの欠落があるようFamilyName
です.
私が最初に見た場所は でしThinktecture.IdentityModel
たが、そこにないことに驚きました。
では、魔法の参照は何ですか?それともThinktecture.IdentityServer3
、これらの文字列だけをロードするのが適切ですか?
ありがとう
編集:だから、ミラーリングのように見えるThinktecture.IdentityModel.Client
a が含まれていることがわかりました。しかし、なぜこれは Jwt プレフィックスで名前が付けられているのですか?JwtClaimTypes
ClaimTypes