asp.net-mvc – Identity Server 3 – 客户端应用程序未知或未经授权
发布时间:2020-05-25 10:33:46 所属栏目:asp.Net 来源:互联网
导读:我收到错误’客户端应用程序未知或未经授权.访问我的网站的受保护区域时. 这是我的客户: public static class Clients{ public static IEnumerableClient Get() { return new[] { new Client {
|
我收到错误’客户端应用程序未知或未经授权.访问我的网站的受保护区域时. 这是我的客户: public static class Clients
{
public static IEnumerable<Client> Get()
{
return new[]
{
new Client
{
Enabled = true,ClientName = "Web Application",ClientId = "webapplication",Flow = Flows.AuthorizationCode,ClientSecrets = new List<Secret>
{
new Secret("webappsecret".Sha256())
},RedirectUris = new List<string>
{
UrlManager.WebApplication
},PostLogoutRedirectUris = new List<string>
{
UrlManager.WebApplication
},AllowedScopes = new List<string>
{
Constants.StandardScopes.OpenId,Constants.StandardScopes.Profile,Constants.StandardScopes.Email,Constants.StandardScopes.Roles,Constants.StandardScopes.OfflineAccess,"read","write"
}
}
};
}
}
这是我的Web应用程序启动: public class Startup
{
public void Configuration(IAppBuilder app)
{
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = "Cookies"
});
app.USEOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
{
Authority = UrlManager.AuthenticationService + "identity",Scope = "openid profile",ResponseType = "code id_token",RedirectUri = UrlManager.WebApplication,SignInAsAuthenticationType = "Cookies"
});
}
}
这是我的身份验证服务(安装了IDS3)启动: public class Startup
{
public void Configuration(IAppBuilder app)
{
app.Map("/identity",idsrvApp =>
{
idsrvApp.UseIdentityServer(new IdentityServerOptions
{
SiteName = "Authentication Service - Embedded IdentityServer",SigningCertificate = Certificate.LoadCertificate(),Factory = new IdentityServerServiceFactory()
.UseInMemoryUsers(Users.Get())
.UseInMemoryClients(Clients.Get())
.UseInMemoryScopes(Scopes.Get())
});
});
}
}
这是UrlManager: public static class UrlManager
{
public static string WebApplication
{
get { return "https://localhost:44381/"; }
}
public static string AuthenticationService
{
get { return "https://localhost:44329/"; }
}
}
这是我的家庭控制器: public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[Authorize]
public ActionResult Private()
{
return View((User as ClaimsPrincipal).Claims);
}
}
当我访问Private时,我得到一个Identity Server 3屏幕,它给出了错误消息“客户端应用程序未知或未经授权.”. 我已经读过这可能来自重定向URI中的错误匹配,但据我所知,我的是正确的.我不知道还有什么可以导致它.如果我将流程更改为隐式但我想实现AuthorizationCode流程,则应用程序可以正常运行. 文档似乎也没有说明这一点. 解决方法客户端已配置为授权代码流
但是启动时的响应类型设置为混合流.
尝试将此更改为
下面是ResponseType和相应的Flow列表 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-4 – 返回Web API中的自定义错误对象
- webforms – ASP.Net Core 1.0是否支持WebForm项目
- asp.net – 在Web.config更改后程序集不可用
- asp.net-mvc – Razor vs Webforms视图引擎,用于新的ASP.NE
- asp.net-mvc – IIS 7.0不显示自定义错误页面
- ASP.NET MVC =具有.NET类库的经典ASP.真?
- 如何从ASP.NET中的母版页访问内容页面控件
- 如何在ASP.NET项目中正确引用JavaScript文件?
- asp.net-mvc – ASP.NET MVC DropDown编辑器模板
- asp.net-mvc-3 – 可以用“@:@”修复的MVC4剃刀的可能的突
推荐文章
站长推荐
- asp.net-mvc – MVC会话过期而不是身份验证
- 谈谈.NET Core中基于Generic Host来实现后台任务
- 为什么我的iSeries / ASP.NET MVC 4应用程序中没
- asp.net-mvc – ASP.NET MVC自定义错误页面(Stat
- asp.net – ASP:ItemTemplate中的DropDownList:
- asp.net – OutOfMemoryException当发送大文件50
- asp.net 4.0 web表单路由 – 默认/通配符路由
- VS 2015 CTP 6 Nuget Package Source
- asp.net-mvc – 使用REST API进行身份验证
- asp.net – WCF – 找到了该合同的多个端点配置
热点阅读
