我在asp.net核心2.1中意识到身份已被转移,但如果将它们添加为支架项,则可以添加到解决方案中.
它为所有页面添加了所有剃刀类库.
但是,我想要做的是使用旧的AccountController方式,客户端(移动或网络)可以发布到帐户相关的API ..
我有什么选择能够恢复旧的方式或类似的方式.所以我可以使用客户的api
已经搜索了很长时间,但是没有找到任何有关如何以SMTP形式设置帐户/电子邮件确认的来源,而不是使用Razor类库的ASP Core 2.1项目的任何其他方式(如使用SendGrid / MailKit)。
在这方面有什么建议吗?在这方面如何使用IdentityUser?是否有必要首先搭建身份?请查看是否有任何专家可以在这方面提供帮助。
我试图让Identity Server在ASP.NET Core 2.1项目上工作,我已按照这里的说明进行操作,但是,我意识到这些是针对ASP.NET Core 2.0的.
MVC客户端中的Startup如下所示:
services.AddAuthentication(options =>
{
options.DefaultScheme = "Cookies";
options.DefaultChallengeScheme = "oidc";
})
.AddCookie("Cookies")
.AddOpenIdConnect("oidc", options =>
{
options.SignInScheme = "Cookies";
options.Authority = "http://localhost:5000";
options.RequireHttpsMetadata = false;
options.ClientId = "mvc";
options.ClientSecret = "secret";
options.ResponseType = "code id_token";
options.SaveTokens = true;
options.GetClaimsFromUserInfoEndpoint = true;
options.Scope.Add("api1");
options.Scope.Add("offline_access");
});
Run Code Online (Sandbox Code Playgroud)
使用ASP.NET Core 2.1,可以在此处访问标识组件:http://localhost/Identity/Account/Login.上面的代码重定向到:http://localhost/Account/Login.我的第一个想法是更换以下行:
options.Authority = "http://localhost:5000";
Run Code Online (Sandbox Code Playgroud)
有:
options.Authority = "http://localhost:5000/Identity";
Run Code Online (Sandbox Code Playgroud)
但是,我接到一个错误说:
IOException:IDX10804:无法从以下位置检索文档:' http:// localhost:5000/Identity/.well-known/openid-configuration '.".
这是因为路径必须是:' http:// localhost:5000/.well-known/openid-configuration '.
我可以通过路由修复此问题吗?我相信如果我确保所有请求:http://localhost:5000/Account/Login映射到http://localhost:5000/Identity/Account/Login,那么它将解决问题.这是正确的,路线会是什么样子?我无法获得使用区域(身份)的路线.