标签: identityserver3

ASP.NET Core 身份设置不起作用

我有一个使用 ASP.NET Identity 的 Identity Server 4 实现。我之前问过一个关于如何应用某些登录规则的问题,并收到了一个答案,解释了如何在Startup.cs. 这是我添加到该ConfigureServices方法中的内容:

services.AddIdentity<ApplicationUser, IdentityRole>(options =>
{
    options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(15);
    options.Lockout.MaxFailedAccessAttempts = 5;
    options.Password.RequiredLength = 9;
    options.Password.RequireDigit = true;
    options.Password.RequireLowercase = true;
    options.Password.RequireUppercase = true;
    options.Password.RequireNonAlphanumeric = false;
    options.SignIn.RequireConfirmedEmail = true;
})
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
Run Code Online (Sandbox Code Playgroud)

密码规则似乎有效,但锁定规则不起作用。我需要启用什么功能吗?

identityserver3 identityserver4

3
推荐指数
1
解决办法
1742
查看次数

具有 openid 连接重定向的反向代理

在我的应用程序中,我集成Identity server 3openid-connect. 在我们的生产服务器上,我们的网站位于导致问题的反向代理后面;

当用户登录并被身份服务器重定向回时,我们的应用程序希望将用户重定向到他的原始位置(带有 的页面AuthorizeAttribute)。这里的问题是用户被重定向到隐藏的 url 而不是reverse proxy.

如何将用户重定向到公共网址?

c# asp.net-mvc reverse-proxy openid-connect identityserver3

3
推荐指数
1
解决办法
2129
查看次数

Identity Server 身份验证响应对象中属性“expires_at”的使用

问题/问题

"expires_at"一旦我成功登录,我想知道该属性的实际用途,然后身份服务器返回以下响应JSON

{
  "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImEzck1VZ01Gdjl0UGNsTGE2eUYzekFrZnF1RSIsImtpZCI6ImEzck1VZ01Gdjl0UGNsTGE2eUYzekFrZnF1RSJ9.eyJpc3MiOiJodHRwczovL2xvY2FsaG9zdDo0NDMwMCIsImF1ZCI6ImpzIiwiZXhwIjoxNTAyNDI4MjQyLCJuYmYiOjE1MDI0Mjc5NDIsIm5vbmNlIjoiYWU0MTZlZjQwNDc4NDkwNmI5NTg3MDkxY2I0ODhjZjUiLCJpYXQiOjE1MDI0Mjc5NDIsImF0X2hhc2giOiJIWEhKWl9LdkdfcnVwMXZQY1lKYWRnIiwic2lkIjoiNjY0M2Y0NjlkMGY3YzgxZWQ3MDFhZmQ5MmYzYzFiMDYiLCJzdWIiOiIxIiwiYXV0aF90aW1lIjoxNTAyNDI3NDYxLCJpZHAiOiJpZHNydiIsImFtciI6WyJwYXNzd29yZCJdfQ.ai98BnTEqWQDBT9BPMJmft-KVgC9nLR2fQCpWW95E-CqyW0vrVtgXTh-ExDAXcQGrl2CzEf0a-7B2SnfAJ9qwSFmn4T--bZMKnoN2YnsHdbad9rhCGOvKEDI0NCfTlDYFQ03ZUdZVW27hYJO6Bbt8FeJPBIv3Ko7MV40gqDGojZ74twO_YZOIzJNJGDmIysquD_hRGU75xTz41MBuMob3FMzmLegIOYqUDFz6A8VrFEL3j1Cgo67sp7IP4RQ9uJj56kU8DI4mZR6YCFp3QdLtYqQPVO6zkO1OhpeDVyZNffC1PbFDsJ5lhPRicZ5MZo-m8eMVSNis6X5fWhuuC9kAg",
  "session_state": "0JCstb_hlFJAAw30DwbPoV6mDvg01QRbZ-H4N2TyFcY.03e0a811c45d02838f745a3b369ecabc",
  "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImEzck1VZ01Gdjl0UGNsTGE2eUYzekFrZnF1RSIsImtpZCI6ImEzck1VZ01Gdjl0UGNsTGE2eUYzekFrZnF1RSJ9.eyJpc3MiOiJodHRwczovL2xvY2FsaG9zdDo0NDMwMCIsImF1ZCI6Imh0dHBzOi8vbG9jYWxob3N0OjQ0MzAwL3Jlc291cmNlcyIsImV4cCI6MTUwMjQyODAwMiwibmJmIjoxNTAyNDI3OTQyLCJjbGllbnRfaWQiOiJqcyIsInNjb3BlIjpbIm9wZW5pZCIsInByb2ZpbGUiLCJlbWFpbCIsImFwaSJdLCJzdWIiOiIxIiwiYXV0aF90aW1lIjoxNTAyNDI3NDYxLCJpZHAiOiJpZHNydiIsImFtciI6WyJwYXNzd29yZCJdfQ.A6Dj10rBKN2CIo1wLfj_stuNXq-QH66sfdhuQiqqMGXcTQ88VnWcgCo13_br8_-gBb0fTGkdHRHZAP5oHbYtiJA9AAMO7Z8R_JsrVdYSaK9SXpRMuKdEhYTK1BQjVPsU04hHJAIEPQZ0i8MKE3FOsyoDEMOfXdVR8oY9vqEpN5X1AYQ4ia_aB_cHPzOUYccr1B5nn4VWl47D-BW6bf4v60P0wHx1uSYeTN_N3J9nbgEXqvLY6ED978jFRvFz7zllHWkIZSxM91Mu-uyIKa6-MRNuYvbtejdNtDzPpUjWDnAsYhL-AyxKaqq1prACkCxESpPXUggl2jMH8hWbl8lX4w",
  "token_type": "Bearer",
  "scope": "openid profile email api",
  "profile": {
    "sid": "6643f469d0f7c81ed701afd92f3c1b06",
    "sub": "1",
    "auth_time": 1502427461,
    "idp": "idsrv",
    "amr": [
      "password"
    ],
    "given_name": "Bob",
    "family_name": "Smith",
    "email": "bob.smith@email.com"
  },
  "expires_at": 1502428003
}
Run Code Online (Sandbox Code Playgroud)

我想知道 的目的"expires_at": 1502428003,并让我知道此属性的格式是否返回 Ticks / Milliseconds / Seconds / ???

这个属性"expires_at": 1502428003和 Silent Renew有什么关系new Oidc.UserManager().signinSilentCallback();???

identity oauth-2.0 openid-connect identityserver3 oidc-client-js

3
推荐指数
1
解决办法
3040
查看次数

可以用我自己的权限使用 MSAL(例如 IdentityServer)

我使用身份服务器设置了自己的身份权限。

我正在运行本机 Windows 应用程序,目前我正在使用IdentityModel 的 OidcClient库来连接权限并获取令牌。

我想添加对 Azure AD 的支持,并且由于我无法在 Azure AD 上设置应用程序以使用HybridWithProofKey流,并且发现了这个MSAL,我决定试一试

在 MSAL 中有一个PublicClientApplication类在其构造函数中接受字符串权限(

当在这个构造函数中传递我的 URL 时,我想象它会使用发现服务并找到正确的端点和它的工作。但令我惊讶的是,这不起作用。

我收到以下错误消息:
AADSTS50049: Unknown or invalid instance. 在 github MSAL 上搜索 AADSTS50049 返回零结果。我已经克隆了该项目并开始调试。

我发现请求被发送到我的授权网址,但在
GET https://login.microsoftonline.com/common/discovery/instance?api-version=1.0&authorization_endpoint=https%3A%2F%2Fmyidentityserverhostname%2Fidentityserver%2Foauth2%2Fv2.0%2Fauthorize HTTP/1.1

此请求在此源中完成,并返回上述错误。

那么,MSAL 是否打算与非 azure 权限一起使用?

azure-active-directory identityserver3 azure-ad-b2c identityserver4 azure-ad-msal

3
推荐指数
1
解决办法
1921
查看次数

为什么 IdentityServer 重定向到 http 而不是 https?

我有一个非常简单的 MVC5 网站,我正在尝试使用 IdentityServer3 来保护它。

我的网站和我的 IdentityServer 实例都作为单独的站点托管在 AppHarbor 中。两者都在 https 后面。

当我访问网站中受[Authorize]属性(例如/Home/About)保护的资源时,我成功重定向到 IdentityServer,并且可以成功进行身份验证。

当 IdentityServer 将其响应 POST 回网站(通过app.FormPostResponse.js)时,网站以 302 重定向响应所请求的资源 - 正如预期的那样。但是,此重定向是指向http,而不是 https (请参阅下面的网络跟踪)。

我确定这只是我的 IdentityServer 配置有问题,但我很感激任何关于我有什么问题的指示。

(AppHarbor 在 IIS 前面使用反向代理(我相信是 nginx),SSL 终止的地方 - 所以我有RequireSsl = false这个场景,根据 IdentityServer 文档。)

这是我的网站 Startup.cs

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            AuthenticationType = "Cookies"
        });

        app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
        {
            Authority = "https://<my-idsrv3>.apphb.com/identity",

            ClientId = "<my-client-id>",
            Scope …
Run Code Online (Sandbox Code Playgroud)

appharbor openid-connect identityserver3

3
推荐指数
1
解决办法
2647
查看次数

当使用 AddIdentityExpressAdminUiConfiguration() 而不是 AddDefaultIdentity() 时,如何指定 SignIn.RequireConfirmedAccount?

我正在使用services.AddIdentityExpressAdminUiConfiguration()IdentityExpress 包。我如何指定SignIn.RequireConfirmedAccount

通常这将在services.AddDefaultIdentity()调用中完成,但由于AddIdentityExpressAdminUiConfiguration()添加了身份,如果我这样做,我最终会出现异常。

将以下内容添加到 ConfigureServices() 不起作用: services.Configure<SignInOptions>(x => x.RequireConfirmedAccount = true).因为UserManager.Options.SignIn.RequireConfirmedAccount始终为 false。

openid-connect identityserver3 identityserver4

3
推荐指数
1
解决办法
608
查看次数

任务被取消了

我正在尝试在同一个启动中共同主持identityserver3和web api(用于使用Bearer令牌的用户管理).但是我收到以下错误:任务被取消了.当尝试调用http://identity_local/core/.well-known/openid-configuration(identity_local指向localhost)时,启动时会发生任务取消.

我的创业公司如下:

app.Map("/core", idsrvApp =>
        {
            var factory = new IdentityServerServiceFactory();
            factory.UserService = new IdentityServer3.Core.Configuration.Registration<IUserService, UserService>();
            factory.ScopeStore = new IdentityServer3.Core.Configuration.Registration<IScopeStore>(resolver => scopeStore);
            var options = new IdentityServerOptions
            {
                SigningCertificate = Certificate.Load(),
                IssuerUri = "http://identity_local/core",
                PublicOrigin = "http://identity_local",
                RequireSsl = false, //for now
                Factory = factory,
            };

            idsrvApp.UseIdentityServer(options);
        });

        app.Map("/admin", adminApp =>
        {
            adminApp.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
            {
                Authority = "http://identity_local/core",
                IssuerName = "identity_local",
                ValidationMode = ValidationMode.Local,
                RequiredScopes = new[] { "api", "roles" }
            });

            adminApp.UseResourceAuthorization(new AuthorisationManager());

            var config = …
Run Code Online (Sandbox Code Playgroud)

identityserver3

2
推荐指数
1
解决办法
1446
查看次数

Microsoft.AspNet与Microsoft.AspNetCore nuget包?

我有ASP.NET Core应用程序和应用程序正在使用OpenIDConnect身份验证.我使用IdentityServer3作为身份验证服务器.我很困惑我应该在ASP.NET Core中使用哪些NuGet包进行身份验证和授权.

本文在这里建议使用Microsoft.AspNet.*****,所以像下面

     Microsoft.AspNet.Authorization
     Microsoft.AspNet.Authentication.Cookies 
     Microsoft.AspNet.Authentication.OpenIdConnect;
Run Code Online (Sandbox Code Playgroud)

但是,还有以下NuGet包,它看起来像.NET Core特有的.

     Microsoft.AspNetCore.Authorization
     Microsoft.AspNetCore.Authentication.Cookies   
     Microsoft.AspNetCore.Authentication.OpenIdConnect;
Run Code Online (Sandbox Code Playgroud)

这些软件包之间的区别是什么?我应该将哪些软件包用于ASP.NET Core中的OpenIdConnect身份验证?

asp.net-core-mvc .net-core coreclr identityserver3 asp.net-core

2
推荐指数
1
解决办法
286
查看次数

在启动时配置IdentityServer3.Admin

我正在尝试使用IdentityServer3.Admin测试版(https://github.com/IdentityServer/IdentityServer3.Admin),但是在设置它时遇到了一些问题,似乎无法找到任何指导.

我已经设置了IdentityManager项目,所以我已经使用它作为指南来获取我现在的,但IdentityAdminServiceFactory似乎缺少像IdentityManagerServiceFactory那样的配置方法.

这是我到目前为止我的Startup.cs文件中的代码.任何帮助感激不尽!

谢谢.

        app.Map("/admin", adminApp =>
        {
            var factory = new IdentityAdminServiceFactory();
            //factory.Configure() or something would go here???

            adminApp.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationType = "Cookies"
            });

            adminApp.UseWsFederationAuthentication(new WsFederationAuthenticationOptions
            {
                MetadataAddress = ConfigurationManager.AppSettings["AzureADMetadataEndpoint"],
                Wtrealm = ConfigurationManager.AppSettings["AzureADApplicationId"],
                SignInAsAuthenticationType = "Cookies",
                Notifications = new WsFederationAuthenticationNotifications
                {
                    SecurityTokenValidated = ctx =>
                    {
                        var roleClaim = new Claim("role", "IdentityManagerAdministrator");
                        ctx.AuthenticationTicket.Identity.AddClaim(roleClaim);
                        return Task.FromResult(0);
                    }
                }
            });

            adminApp.UseIdentityAdmin(new IdentityAdminOptions
            {
                Factory = factory,
                AdminSecurityConfiguration = new AdminHostSecurityConfiguration
                {
                    HostAuthenticationType = "Cookies",
                    NameClaimType = ClaimTypes.Name,
                    RoleClaimType …
Run Code Online (Sandbox Code Playgroud)

c# identityserver3

2
推荐指数
1
解决办法
560
查看次数

auth0和IdentityServer有什么区别?

似乎这两个都提供了授权和身份验证。

两者都使用OpenID connect。

identity oauth-2.0 openid-connect auth0 identityserver3

2
推荐指数
1
解决办法
797
查看次数