asp.net-mvc - 从本机客户端授予对 api 的访问权限
问题描述
我有一个使用 Azure AD B2C 的移动应用程序,它运行良好。我可以创建一个帐户、登录、忘记密码等。没关系。
移动应用程序将数据存储在设备上。
移动应用程序还应该能够将数据推送到远程数据库并通过 .net 核心 web api 触发各种功能。
移动应用程序只有在使用凭据或访问令牌通过登录成功授权自己的情况下才能做到这一点。
我认为这可以很容易地实现(因为,为什么不能呢?)
但现在,经过数周的搜索、数小时的视频观看、10 个中止的 [测试] 项目以及 1000 个用户帐户;我不确定我想做的事情是可以做的还是应该做的。
想法?
解决方案
是的,这当然是可能的:)
您可以查看代码示例以获取有关如何执行此操作的一些示例:https ://docs.microsoft.com/en-us/azure/active-directory-b2c/code-samples 。
您的移动应用程序可以为自己获取访问令牌。您必须在 B2C 中定义您的应用程序包含 API,然后定义应用程序 ID URI(API 的标识符,而不是 URL)。然后,您可以定义API 公开的范围。这些可以是调用 API 的应用程序可以拥有的不同权限。
然后,在您的移动应用程序中,您可以使用这些范围获取访问令牌。然后可以将此令牌传递给 API 的 HTTP 请求,API 必须对其进行身份验证。
一定要问你是否想知道一些具体的事情。
推荐阅读
- ruby-on-rails - NoMethodError:RSpec 中 nil:NilClass 的未定义方法“customer_details”
- google-ad-manager - 我如何将项目状态从准备好更改为正在交付?
- angular - 指令上的角度动画
- terraform - 0.12upgrade 命令后的 terraform 配置不正确
- java - 没有来自数据库的 UserDetails 的 JWT 身份验证
- javascript - 如何使用 react-hooks 更改像 redux 这样的变量的值?
- bash - 如何比较字符串和空格?
- ios - 快速不变的表达
- reactjs - React-Localization setLanguage() 不更新页面
- angular - 当我在 BehaviourSubject 上调用函数时,订阅函数不会触发