我有一个基于AspNetCore的完整的工作应用程序。我使用了身份。在中央SQL数据库上提供所有登录和用户注册。一切都很好,一切都很顺利。
但现在开始进退两难了。我正在开发支持android, ios等应用程序。我正在使用微软Maui开发这些应用程序。
我的想法是在主ASPCore web应用程序中编写所有http CRUD API。然后Maui应用程序将调用这些API CRUD操作。但是我的困惑出现在用户管理上。实现跨所有解决方案的通用用户授权访问的最佳方法是什么?牢记当前基于web的Asp EF解决方案是否存在和工作?
我已经研究过了,但不能决定最好的解决方案:-
- 使用已有的SQL数据库&通过web应用程序上的API提供授权。
- 使用Azure的活动目录
- 将所有内容转移到第三方提供商,如"okta, OneLogin等">
您对未来的最佳实践有什么想法?
我目前也在同一条道路上。看一看
TokenServerAuthenticationStateProvider在MAUI应用程序
基本上,我在我的服务器应用程序中添加了一个API控制器(UserController),它检查SQL数据库中的用户名和密码,并生成用于MAUI应用程序登录和服务器API认证的JWT令牌。
我在令牌中使用声明来传递我在MAUI中用于显示或隐藏某些表单或控件的User变量。像角色,但更灵活。
对我来说,这是最好的路径,因为我不需要在我的工作网络项目中改变任何东西。