我正在使用IdentityServer4创建Web API安全性。我通过在控制台管理器中键入以下语法来安装identityserver4包:Install-Package IdentityServer4 -Pre。它安装成功。现在我无法在我的项目中引用它。 这是我安装后的project.json代码:
{
"webroot": "wwwroot",
"version": "1.0.0-*",
"dependencies": {
"Microsoft.AspNet.Server.IIS": "1.0.0-beta5",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta5",
"IdentityServer4": "1.0.0-rc1-update2"
},
"commands": {
"web": "Microsoft.AspNet.Hosting --config hosting.ini"
},
"frameworks": {
"dnx451": { },
"dnxcore50": { }
},
"publishExclude": [
"node_modules",
"bower_components",
"**.xproj",
"**.user",
"**.vspscc"
],
"exclude": [
"wwwroot",
"node_modules",
"bower_components"
]
}
所以现在我用以下代码创建了一个客户端类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace LearningIdentityServer4.OAuth
{
public class Clients
{
public static IEnumerable<Client> Get()
{
return new[]
{
new Client
{
ClientId = "myApi",
ClientSecrets = new List<Secret>
{
new Secret("secret".Sha256())
},
ClientName = "My lovely Api",
Flow = Flows.ResourceOwner,
AllowedScope =
{
Constants.StandardScope.OpenId,
"read"
},
Enabled = true
}
};
}
}
}
所以我收到很多错误。当我将鼠标悬停在让我们说第一个客户端时,我得到的唯一选项是Add Package IdentityServer3 2.1.1
那么我如何引用IdentityServer4而不是IdentityServer3 2.1.1
我期待着您的回复。
谢谢,Somad
答案 0 :(得分:4)
这些框架完全过时了。
要使用identityserver4,您需要(至少)依赖netcoreapp 1.0
框架并添加一些依赖项。将project.json中的框架替换为以下内容:
"frameworks": {
"netcoreapp1.0": {
"imports": [
"dotnet5.6",
"portable-net45+win8"
]
}
},
另见samples。我假设您的工具已过时,或者您再次打开旧项目。 ASP.NET Core已经改变了很多东西。