oauth密码模式identity server4实现

学习分享 丨作者 / 郑 子 铭 丨公众号 / DotNet NB / CloudNative NB

任务12:oauth密码模式identity server4实现

密码模式比客户端模式更加严格,需要第三方输入用户名和密码之后才可以访问 API

在 IdentityServerCenter 的 Config 中引入测试命名空间

using IdentityServer4.Test;

并添加一个获取 TestUser 的方法

public static List<TestUser> GetTestUsers()
{
    return new List<TestUser>
    {
        new TestUser
        {
            SubjectId = "1",
            Username = "mingsonzheng",
            Password = "123456"
        }
    };
}

正式环境的话从数据库读取

client 列表中复制添加一个 client,修改 ClientId 和 AllowedGrantTypes

在 Startup 中 AddTestUsers

启动 IdentityServerCenter 与 ClientCredentialApi

获取 access_token

在 config 中可以通过修改配置 RequireClientSecret,使得调用接口不需要传参 client_secret

新建控制台程序

添加 Nuget 包:IdentityModel

添加之后还原

拷贝一份 ThirdPartyDemo 的 Program 过来修改

先启动 IdentityServerCenter,ClientCredentialApi

再启动 PwdClient,输出如下:

Last updated