azure - OpenID Connect 使用 Office 365 和 spring security 登录

标签 azure spring-security office365 openid-connect

我需要使用 Spring Security 过滤器配置 OpenID Connect,以授权使用我的 Rest API Web。我找到了Google Login Example ,但就我而言,我需要 Office365。我在 Azure 中创建了我的应用程序,并配置了相应的属性。当我尝试访问 REST API 时,它会将我重定向到办公室登录,当我输入正确的凭据时,会引发此异常:

Image error in console

最佳答案

我不知道这个特定异常的原因,但通常 Microsoft Azure 开发人员页面上有一个很好的教程,解释了如何使用 Spring Boot、Spring Security 在 Microsoft Azure Active Directory 中进行身份验证:

https://learn.microsoft.com/en-us/azure/developer/java/spring-framework/configure-spring-boot-starter-java-app-with-azure-active-directory

实现此操作后,您可以使用 Microsoft 帐户登录您的 Web 应用程序。 在第 2 步的“为您的 Spring Boot 应用程序添加应用程序注册”部分中,您可以选择您(或您的应用程序)是否要支持帐户单租户、 Multi-Tenancy 甚至个人 Microsoft 帐户(Skype、Xbox...)。

教程和我的工作测试应用程序之间只有三两个差异(在 08/2020):

  1. 您必须将“oauth2AllowImplicitFlow”和“oauth2AllowIdTokenImplicitFlow”这两个属性设置为“true”。
  2. application.properties 中的属性似乎是“azure.activedirectory.active-directory-groups”而不是“azure.activedirectory.user-group.allowed-groups”

关于azure - OpenID Connect 使用 Office 365 和 spring security 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43788333/

相关文章:

microsoft-graph-api - 为机器人重复使用 App Id 是好主意还是坏主意?

office365 - Excel Javascript 插件 : how to open ExecuteFunction in the taskpane rather than new iframe?

Azure VM CentOS 7.3 支持 H.323 和 SIP

azure - 通过 HTTP 使用 ServiceBusTrigger 调用 Azure 函数会抛出 InvalidOperationException

javascript - Office365 IMAP 访问 : User is Authenticated but not Connected

java - Spring boot bcrypt.BCryptPasswordEncoder 和身份验证问题

grails - Grails 3-Spring Security OAuth2提供程序-自定义安全提供程序被忽略

Azure 存储帐户 - 准备故障转移失败并显示 "Last sync time is unavailable"

azure - Service Fabric 网格 - 不显示 Service Fabric 集群中的应用程序

java - spring security - 如何提供拦截 URL 的列表