Getting Started with Duende IdentityServer (2/2)

Поделиться
HTML-код
  • Опубликовано: 28 дек 2024

Комментарии • 33

  • @mustafaazyoksul1372
    @mustafaazyoksul1372 2 года назад +1

    This might be the most valuable educational video I have ever watched. Great pace.

  • @patrickvandersluis2796
    @patrickvandersluis2796 2 года назад +3

    Kevin, thank you for your great effort that has saved me hours of time understanding how all this fits together! Your teaching style is complete, but at a nice crisp pace that helps keep the viewer's interest. I am looking forward to your EntityFramework video.

    • @identityserver
      @identityserver  2 года назад +1

      Hi Patrick, Thank you for your kind words, will make sure that Kevin receives your feedback. The entity framework video should be out this week. :)

  • @DaveRogersEsq
    @DaveRogersEsq Год назад

    As someone who is pretty familiar with IdentityServer, I can verify that this video (and part 1) actually get you pretty far along in terms of setting up an Idp and understanding it. Although you'll want to go and school up on the various OAuth flows to get a better understanding of things. But this is great.

    • @identityserver
      @identityserver  Год назад

      Hi Dave, Thank you for the kind and insightful words!

  • @movingCrazy
    @movingCrazy 8 месяцев назад

    Great video and the whole playlist too. Thanks for it. Helps a lot!

  • @gerritvandermerwe4978
    @gerritvandermerwe4978 2 года назад

    Thank you for this tutorial - it was easy to follow and well explained. Been looking everywhere for a tutorial like this!

  • @Johntasticful
    @Johntasticful 2 года назад +1

    Thanks for the great tutorial and info. 😀

  • @serhiyradzyniak1353
    @serhiyradzyniak1353 2 года назад +2

    This is very cool guide! Thank you!

  • @mins_91
    @mins_91 2 года назад

    Thank you very much for this 2 videos well explained !

    • @identityserver
      @identityserver  2 года назад

      Thank you very much for your kind words, we are always trying to improve our videos. Any feedback is always appreciative.

  • @davidkristiawan5459
    @davidkristiawan5459 2 года назад

    I'm trying to follow this tutorial, but when I'm trying to call the web api (minutes 5:30 ), I always getting error
    System.InvalidOperationException: IDX20803: Unable to obtain configuration from: 'System.String'.
    ---> System.IO.IOException: IDX20804: Unable to retrieve document from: 'System.String'.
    Any help please?
    even I downloaded the github code, I always getting this error

    • @identityserver
      @identityserver  2 года назад

      Hi David,
      Can you provide the full stack trace, and I'll take a look thanks Andy

    • @davidkristiawan5459
      @davidkristiawan5459 2 года назад

      @@identityserver Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler[3]
      Exception occurred while processing message.
      System.InvalidOperationException: IDX20803: Unable to obtain configuration from: 'System.String'.
      ---> System.IO.IOException: IDX20804: Unable to retrieve document from: 'System.String'.
      ---> System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
      ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid because of errors in the certificate chain: UntrustedRoot
      at System.Net.Security.SslStream.SendAuthResetSignal(ProtocolToken message, ExceptionDispatchInfo exception)
      at System.Net.Security.SslStream.CompleteHandshake(SslAuthenticationOptions sslAuthenticationOptions)
      at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
      at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
      --- End of inner exception stack trace ---
      at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
      at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
      at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
      at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(HttpRequestMessage request)
      at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
      at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
      at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
      at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
      at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
      at System.Net.Http.HttpClient.g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
      at Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(String address, CancellationToken cancel)
      --- End of inner exception stack trace ---
      at Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(String address, CancellationToken cancel)
      at Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectConfigurationRetriever.GetAsync(String address, IDocumentRetriever retriever, CancellationToken cancel)
      at Microsoft.IdentityModel.Protocols.ConfigurationManager`1.GetConfigurationAsync(CancellationToken cancel)
      --- End of inner exception stack trace ---
      at Microsoft.IdentityModel.Protocols.ConfigurationManager`1.GetConfigurationAsync(CancellationToken cancel)
      at Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler.HandleAuthenticateAsync()
      fail: Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1]
      An unhandled exception has occurred while executing the request.
      System.InvalidOperationException: IDX20803: Unable to obtain configuration from: 'System.String'.
      ---> System.IO.IOException: IDX20804: Unable to retrieve document from: 'System.String'.
      ---> System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
      ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid because of errors in the certificate chain: UntrustedRoot
      at System.Net.Security.SslStream.SendAuthResetSignal(ProtocolToken message, ExceptionDispatchInfo exception)
      at System.Net.Security.SslStream.CompleteHandshake(SslAuthenticationOptions sslAuthenticationOptions)
      at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
      at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
      --- End of inner exception stack trace ---
      at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
      at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
      at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
      at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(HttpRequestMessage request)
      at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
      at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
      at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
      at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
      at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
      at System.Net.Http.HttpClient.g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
      at Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(String address, CancellationToken cancel)
      --- End of inner exception stack trace ---
      at Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(String address, CancellationToken cancel)
      at Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectConfigurationRetriever.GetAsync(String address, IDocumentRetriever retriever, CancellationToken cancel)
      at Microsoft.IdentityModel.Protocols.ConfigurationManager`1.GetConfigurationAsync(CancellationToken cancel)
      --- End of inner exception stack trace ---
      at Microsoft.IdentityModel.Protocols.ConfigurationManager`1.GetConfigurationAsync(CancellationToken cancel)
      at Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler.HandleAuthenticateAsync()
      at Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler.HandleAuthenticateAsync()
      at Microsoft.AspNetCore.Authentication.AuthenticationHandler`1.AuthenticateAsync()
      at Microsoft.AspNetCore.Authentication.AuthenticationService.AuthenticateAsync(HttpContext context, String scheme)
      at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
      at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
      at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
      at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

  • @IvanGumy
    @IvanGumy 2 года назад

    Perfect guide and to the point. Thanks for using .NET 6. so this is ahead of an official guide.
    Please expand it with additional parts explaining what other options do, adding database (which I see you already have a video) and adding registration page.

  • @mhmdnzr
    @mhmdnzr 9 месяцев назад

    great tuto, i love u, tnku so much

  • @tongphou2920
    @tongphou2920 2 года назад

    Please add the process of deployment to IIS too. I have a hard time to do it with VS2022. Not just this video projects but all also the Angular with individual authentication (using Duende pkg as well) template. I can not get it to work. Perhaps, I have to pay license in order to install it to production? Your video will help. Thanks.

    • @identityserver
      @identityserver  2 года назад

      Hi Tong, We do have an installer that, installs a copy of AdminUI and a Duende IdentityServer template, it's perfect if you are using IIS. You can grab a copy here: www.identityserver.com/products/adminui and selecting the IIS option. You don't need to pay for a license in order to install to production, assuming you are covered by their free tier. But you will need to inform DuendeSoftware if you plan to deploy to production.

    • @tongphou2920
      @tongphou2920 2 года назад

      @@identityserver Got the Duende license key and install on your codes and they still not working in the IIS production mode? What is missing?

  • @oz4549
    @oz4549 2 года назад

    can you please update the repo with this code. I have an error after install the quick start ui "The type or namespace name 'ApplicationUser' could not be found (are you missing a using directive or an assembly reference?)"

  • @abnonymous
    @abnonymous 2 года назад +1

    In the IdentityServer, there're some Uri settings for the interactive client:
    RedirectUris = {"localhost:5444/signin-oidc"},
    FrontChannelLogoutUri = "localhost:5444/signout-oidc",
    PostLogoutRedirectUris = {"localhost:5444/signout-callback-oidc"
    But none of this endpoints seem to be implemented in the client application? How does it work?

  • @GreenElectricEarth
    @GreenElectricEarth 2 года назад +1

    As posted on 1st video can you make a tutorial on adding .net Entity Framework stores and why add them? Thanks

    • @identityserver
      @identityserver  2 года назад +3

      Hi DoubleSlasher, i will add this to our video backlog, thank you for the suggestion.

    • @identityserver
      @identityserver  2 года назад +2

      Hi DoubleSlasher, just want to give you an update: a .Net EntityFramework video will be coming out very soon. :)

  • @daxruiz
    @daxruiz Год назад

    pure gold

  • @chessgamesonline5867
    @chessgamesonline5867 2 года назад

    why dont u use swagger?

  • @jefersonfurrier4104
    @jefersonfurrier4104 2 года назад

    please send the curl command

  • @srkbhayo
    @srkbhayo 2 года назад

    I used the powershell iex command to download the code from here - github.com/DuendeSoftware/IdentityServer.Quickstart.UI.AspNetIdentity , and I see that there are no controllers. Also, when I run the IdentityServer project, it does not show me the welcome page

    • @identityserver
      @identityserver  2 года назад

      Hi Shubham
      The solution is using Razor Pages not the traditional Controllers.