zoukankan      html  css  js  c++  java
  • ResourceOwnerPassword模式使用数据库.

    有时候, ResourceOwnerPassword模式有用的, 可以用来代替我们原来管理程序的开发方式.

    因为管理程序本身拥有用户数据的权限嘛, 并不是第三方应用, 无需要授权

    集成很简单.

    1. 添加ResourceOwnPasswordValidator验证程序

    public class ResourceOwnerPasswordValidator : IResourceOwnerPasswordValidator
        {
            public ResourceOwnerPasswordValidator()
            {
    
            }
    
            public Task ValidateAsync(ResourceOwnerPasswordValidationContext context)
            {
                //根据context.UserName和context.Password与数据库的数据做校验,判断是否合法
                if (context.UserName == "jian1" && context.Password == "j1")
                {
                    context.Result = new GrantValidationResult(
                     subject: context.UserName,
                     authenticationMethod:  OidcConstants.AuthenticationMethods.Password);
                }
                //else
                //{
    
                //    //验证失败
                //    context.Result = new GrantValidationResult(
                //        TokenRequestErrors.InvalidGrant, 
                //        "invalid custom credential",
                //        );
                //}
                return Task.FromResult(0);
            }
             
        }

    2. 注册IdentityServer的时候注入这个验证程序

    // 使用内存存储,密钥,客户端和资源来配置身份服务器。 测试环境
                services.AddIdentityServer()
                    .AddDeveloperSigningCredential()
                    .AddInMemoryApiResources(AuthorizationConfig.ApiResources())
                    .AddInMemoryClients(AuthorizationConfig.Clients())
                    .AddInMemoryIdentityResources(AuthorizationConfig.GetIdentityResources()) 
                    //添加自定义的ResourceOwnValidator验证程序
                    
    .AddResourceOwnerValidator<Models.ResourceOwnerPasswordValidator>()
    
                    .AddProfileService<Services.ProfileService>();
  • 相关阅读:
    读《淘宝数据魔方技术架构解析》有感
    架构之谈
    读《蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践》有感
    第八周周总结
    hadoop安装和配置
    第七周周总结
    [BZOJ]2836: 魔法树
    [BZOJ]4540: [Hnoi2016]序列
    [BZOJ]1511: [POI2006]OKR-Periods of Words
    [BZOJ]1116: [POI2008]CLO
  • 原文地址:https://www.cnblogs.com/jianjialin/p/9326503.html
Copyright © 2011-2022 走看看