我需要使用 Spring Security 过滤器配置 OpenID Connect,以授权使用我的 Rest API Web。我找到了Google Login Example ,但就我而言,我需要 Office365。我在 Azure 中创建了我的应用程序,并配置了相应的属性。当我尝试访问 REST API 时,它会将我重定向到办公室登录,当我输入正确的凭据时,会引发此异常:
最佳答案
我不知道这个特定异常的原因,但通常 Microsoft Azure 开发人员页面上有一个很好的教程,解释了如何使用 Spring Boot、Spring Security 在 Microsoft Azure Active Directory 中进行身份验证:
实现此操作后,您可以使用 Microsoft 帐户登录您的 Web 应用程序。 在第 2 步的“为您的 Spring Boot 应用程序添加应用程序注册”部分中,您可以选择您(或您的应用程序)是否要支持帐户单租户、 Multi-Tenancy 甚至个人 Microsoft 帐户(Skype、Xbox...)。
教程和我的工作测试应用程序之间只有三两个差异(在 08/2020):
- 您必须将“oauth2AllowImplicitFlow”和“oauth2AllowIdTokenImplicitFlow”这两个属性设置为“true”。
- 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/