我正在使用ASP.Net Core SPA模板创建单页应用程序。这些模板没有用于选择身份验证选项的选项。
我想将应用程序配置为使用OpenId Connect身份验证(与AzureAd和其他提供程序一起使用)。我想避免使用Js库进行身份验证。这可能吗?
在创建项目后,我尝试手动添加身份验证项,但这似乎不起作用。
答案 0 :(得分:0)
如果您正在使用NodeJs后端,则需要以在SPA框架(例如Angular,React)中实现身份验证/授权机制。您无法期待。
如果您的API在同一个SPA应用程序上,则只能为后端API实施身份验证/授权。但是对于前端,您不能依靠它。
要点是,SPA本身就是单页应用程序,而ASP.Net(核心)进行基于控制器/操作的身份验证。 SPA通常只有一个开始(引导)页面。因此,它不能自行处理身份验证/授权,也不应
答案 1 :(得分:0)
在Core2x中,这需要一些工作,但是您可以做到。
在Core3中,它就像
一样简单dotnet new react --auth Individual --use-local-db
--use-local-db
参数对身份数据库使用SQL Server而不是SQLite。默认情况下,它将使用localdb并在Web根目录中创建一个数据库。
appsettings.json
中的连接字符串以指向它
server=
您的服务器名称 ;database=
您的数据库名称 ;uid=
您的SQL用户名 {{ 1}} 您的SQL密码 ;pwd=
您的服务器名称 server=
您的数据库名称 ;database=
有人对连接字符串中的uid和pwd不满意吗?现在,您有机会解释如何将集成安全性与Azure SQL数据库一起使用。
无论如何,这将产生功能齐全的UX,用于创建和管理身份。您可以将多个身份与一个帐户相关联,甚至可以支持多个ADFS提供程序。
MVC和SPA之间的转换是无缝的。到目前为止,我遇到的唯一问题是弄清楚如何自定义或设置罐装UX的样式。