IdentityServer 3将无法启动

时间:2017-03-13 16:41:57

标签: c# identityserver3

我在启动IdentityServer 3时遇到了问题。这是一个非常简单的设置,我打算用于开发环境,我在诊断问题时遇到了问题。这是我的代码:

Startup.cs

a=($(sed 's/,/ /g' <<< "20,80,443,53"))

printf "%s\n" "${a[@]}"
20
80
443
53

Users.cs

    using Owin;
    using System;
    using System.Security.Cryptography.X509Certificates;
    using IdentityServer3.Core.Models;
    using IdentityServer3.Core.Configuration;

    namespace IdentityServer3
    {
        public class Startup
        {
            public void Configuration(IAppBuilder app)
            {
                app.Map("/identity", idsrvApp =>
                {
                    idsrvApp.UseIdentityServer(new IdentityServerOptions
                    {
                        SiteName = "Embedded IdentityServer",
                        SigningCertificate = LoadCertificate(),

                        Factory = new IdentityServerServiceFactory()
                                    .UseInMemoryUsers(Users.Get())
                                    .UseInMemoryClients(Clients.Get())
                                    .UseInMemoryScopes(StandardScopes.All)
                    });
                });
            }

            X509Certificate2 LoadCertificate()
            {
                return new X509Certificate2(
                    string.Format(@"{0}bin\idsrv3test.pfx", AppDomain.CurrentDomain.BaseDirectory), "idsrv3test");
            }
        }
}

Clients.cs

using IdentityServer3.Core;
using IdentityServer3.Core.Services.InMemory;
using System.Collections.Generic;
using System.Security.Claims;

namespace IdentityServer3
{
    public static class Users
    {
        public static List<InMemoryUser> Get()
        {
            return new List<InMemoryUser>
            {
                new InMemoryUser
                {
                    Username = "bob",
                    Password = "secret",
                    Subject = "1",

                    Claims = new[]
                    {
                        new Claim(Constants.ClaimTypes.GivenName, "Bob"),
                        new Claim(Constants.ClaimTypes.FamilyName, "Smith")
                    }
                }
            };
        }
    }
}

证书来自IdentityServer's github examples。它已通过mmc证书管理单元导入,并在Visual Studio 2015中将“复制到输出目录”设置为“始终复制”。我还在VS项目上启用了SSL,并在Web配置/系统中设置了runAllManagedModulesForAllRequests =“true” .webServer / modules部分。

当我尝试通过'开始调试'启动它时,我得到:

  

{“无法加载类型   'IdentityServer3.Core.Configuration.IdentityServerOptions'来自   程序集'IdentityServer3,版本= 1.0.0.0,文化=中立,   公钥=空”。 “:” IdentityServer3.Core.Configuration.IdentityServerOptions“}

其他人有这个或有没有人对如何诊断有任何见解?

1 个答案:

答案 0 :(得分:3)

我遇到了同样的问题,它似乎是所使用的项目/命名空间的名称。

命名我的项目 IdentityServer3 我遇到了同样的问题。我创建了一个名称不同的项目,这解决了这个问题。