我们有一个 Spring 应用程序,它为普通用户提供 Web 界面以及其他服务使用的 REST API。我们想为它们配置 auth0。到目前为止,我只能找到有关如何分别执行这两个操作的文档 described in their website 。是否可以将应用程序配置为同时支持 m2m 和基本 Web 应用程序身份验证?
如果是这样,我该如何在 Spring Security 和 auth0 中做到这一点
最佳答案
是的,您可以拥有一个想要保护的 API,并同时供用户和服务(M2M/机器对机器)使用。
您将在 Dashboard > API
下的 Auth0 中注册您的 API。
然后,对于用户使用的客户端,您可以将仪表板 > 应用程序
下的客户端注册为常规 Web 应用程序
或单页应用程序 (SPA)
,取决于您的技术堆栈。
对于其他服务,您可以将应用程序(也在仪表板 > 应用程序下)注册为 M2M 应用程序。
对于这些 M2M 应用程序,您可以通过仪表板 > API > 机器对机器应用程序 > 范围
授予对 API 的访问权限,并选择您想要允许的范围。
M2M正在使用所谓的Client Credentials Grant ,而对于最终用户,您可以使用 Authorization Code Grant .
有 Java/Spring 的快速入门:
关于spring-security - 在 Auth0 中同时使用机器对机器和常规身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57184991/