我按照此示例成功实施了Azure Active Directory,以便在Web应用中进行用户管理/身份验证/登录: Azure Sample AAD with Flask
我决定尝试Azure Active Directory B2C,因为它集成了各种社交应用程序。但是,我无法让烧瓶应用程序使用OAuth 2.0,因为Azure AD B2C似乎与OAuth 2.0不兼容。我发现一些文档表明Azure AD B2C需要Open ID Connect。
您能否确认Azure Active Directory B2C是否需要Open ID Connect,或者它是否也适用于OAuth 2.0?
由于
答案 0 :(得分:4)
Azure AD B2C支持OpenID Connect和OAuth 2.0,如官方reference protocols documentation中所述。
为了能够使用OAuth 2.0和Flask使用Azure AD B2C登录用户,您需要调整示例以遵循此示例中使用的OAuth 2.0方法:An Android application with Azure AD B2C using OAuth。您需要适应的关键事项:
https://login.microsoftonline.com/tfp/TENANT_NAME/POLICY_NAME/oauth2/v2.0/authorize
。 Example from Android sample 修改强>
我创建了python sample for Azure AD B2C并使用python-jose进行令牌验证和声明检索。看看吧。
答案 1 :(得分:4)
值得注意的是,Azure Active Directory B2C(AAD B2C)支持 OpenID Connect和OAuth 2.0,因为它使用这两个协议来交换信息并保护令牌。但是,AAD B2C "extends"这些协议是通过引入政策来处理注册,登录和一般帐户管理的用户体验。
这是什么意思?首先,这意味着您无法创建自己的注册/登录体验,只能将用户重定向到正确的策略(which you to some extent can customize)。您无法为此创建自己的注册/ -in用户界面,并且您只能为所提供的基于Web的UI设置样式/品牌。
因此,为了使用AAD B2C进行身份验证,您可以关注this guide,它应该很容易适应Python。您只需将用户重定向到AAD B2C的/authorize
端点,然后validate the JWT you receive
答案 2 :(得分:2)
基于文档here
,Azure AD B2C支持OpenID Connect和OAuth 2.0协议。
Azure Active Directory(Azure AD)B2C提供身份即服务 通过支持两种行业标准协议为您的应用程序:OpenID Connect和OAuth 2.0 。该服务符合标准,但任何两项 这些协议的实现可能会有细微差别。