Azure active directory Azure广告-如何链接SPA';s自定义注册和登录组件到Azure AD';中国的基本进程

Azure active directory Azure广告-如何链接SPA';s自定义注册和登录组件到Azure AD';中国的基本进程,azure-active-directory,azure-storage,azure-functions,single-page-application,serverless,Azure Active Directory,Azure Storage,Azure Functions,Single Page Application,Serverless,我正处于使用以下组件设计无服务器应用程序的早期阶段: 使用React的SPA,我计划在Azure存储中运行静态资产 由Azure函数驱动的后端API 如果我们可以避免使用成熟的SQL Server,那么它可能是一个CosmosDB数据库。这将取决于我们的模式最终有多复杂 后端还有其他几个组件,但它们与此问题无关 基本上,我想弄清楚的是,我如何在React SPA中注册和登录表单、按钮等,这些表单和按钮可以连接到Azure驱动的用户池中 我在早期设计阶段遇到的问题是,我对Azure解决方案的理解满

我正处于使用以下组件设计无服务器应用程序的早期阶段:

  • 使用React的SPA,我计划在Azure存储中运行静态资产

  • 由Azure函数驱动的后端API

  • 如果我们可以避免使用成熟的SQL Server,那么它可能是一个CosmosDB数据库。这将取决于我们的模式最终有多复杂

  • 后端还有其他几个组件,但它们与此问题无关

    基本上,我想弄清楚的是,我如何在React SPA中注册和登录表单、按钮等,这些表单和按钮可以连接到Azure驱动的用户池中

    我在早期设计阶段遇到的问题是,我对Azure解决方案的理解满足了我的需要。我的背景是AWS。在AWS中,我只需创建一个Cognito用户池,并使用AWS SDK将我的应用程序的注册/登录过程连接到所述用户池中

    这个过程对我来说很有意义。然而,在Azure世界中,它似乎并没有那么直接。我读过关于Azure AD、Azure AD B2C等的文章/白皮书。这些文章中描述的流程似乎从未提及我在SPA中构建的表单之间的关系,以及如何触发从那里到Azure AD的身份验证。基本上,我希望Azure AD对用户是不可见的;他们应该只需要与我的前端应用程序交互(即不重定向到Microsoft或Azure注册/登录页面等)

    到目前为止,我所想到的包括以下内容(同样,我仍处于设计阶段):

  • Azure存储以承载静态资产
  • Azure函数带有Azure函数代理,用于在前端和API之间进行路由
  • 似乎Azure广告用户流可能是一种选择;但是,我仍然不确定SPA是否可以使用SDK与诸如登录、放弃密码、注销等功能进行交互。我希望尽可能避免重蹈覆辙
  • 我还没有开始编写代码,因为我目前仍处于铅笔/纸张设计阶段。我提出的问题包括:

  • 在Blob存储中运行React应用程序与使用Azure Web应用程序相比有意义吗?我的意思是,我仍然能够挂接Azure AD提供的身份验证过程,而无需运行实际的服务器

  • A完全可以预期,一旦我实现了注册/登录用户流,我将能够触发AAD进程并获得JWT,以便在后续对后端API的调用中使用。我还不确定这是否是直截了当的


  • 我不是在寻找任何代码或任何东西,主要是澄清我的一些不确定性,并确认我当前的路径是合理的。

    你是对的。Azure广告B2C正是您所寻找的

    回答你的问题-

  • 对。您还可以在blob存储和设置上托管。您可能还希望研究或加速静态资产的交付

    但是,如果您还需要对UI进行服务器端呈现和/或Azure AD身份验证,则必须使用Web应用程序

  • 根据/规范执行身份验证的推荐方法是用户登录到身份验证服务器(此处为Azure AD)的流程,该服务器将用户重定向到客户端应用程序,并传递一个授权码,该授权码随后交换为访问令牌和刷新令牌

    另一个选项是,它通常用于单页应用程序,其中应用程序直接从Azure AD获取令牌

    如果您希望您的用户从应用程序本身登录,那么您可以使用where直接使用用户名和密码调用Azure AD端点来获取访问令牌


  • 您可以在文档中阅读更多有关Azure广告支持的不同功能的信息。

    谢谢。这正是我要找的。