如何知道我的 spring 引导应用程序是否正在使用 OIDC?

How to know if my spring boot app is using OIDC?

如果我的 application.properties 中有这个:

security.oauth2.resource.user-info-uri=https://www.googleapis.com/userinfo/v2/me

security.oauth2.client.client-id=clientid.apps.googleusercontent.com
security.oauth2.client.client-secret=client-secret
security.oauth2.client.user-authorization-uri=https://accounts.google.com/o/oauth2/v2/auth
security.oauth2.client.access-token-uri=https://oauth2.googleapis.com/token
security.oauth2.client.scope=openid

我有安全配置器、控制器等。效果很好。当我尝试使用端点时,我可以在 google 登录,然后从我的 spring 启动应用程序取回响应。

我的问题是,如果有人问我:“你确定这个项目正在使用 OIDC 吗?”

如何回答?我如何证明它确实如此? (如果是从事IT工作但不是OAuth2/OpenID Connect的高手)

查看一些解释什么是 OAuth 以及它与 OpenID Connect 的区别的资源,例如:https://curity.io/resources/webinars/course-getting-started-with-oauth-and-openid-connect

很高兴知道它们的区别 - OAuth 和 OIDC。简而言之 - 如果您使用 OAuth 流程从授权服务器(在 OIDC 中称为 OpenID 提供者)接收 ID 令牌,那么您正在使用 OIDC。如果您只获得访问令牌,那么您只是在使用 OAuth,而没有使用 OIDC。 ID 令牌是 JWT,它为您的应用程序提供有关经过身份验证的用户的信息——这就是 OIDC 的目的,告诉您的应用程序用户是谁。 OAuth 是一种授权用户的方式 - 使用访问令牌,您现在可能不知道用户是谁,但您可以使用访问令牌访问 API,并代表用户执行一些操作。

如果您想证明您在应用中使用了 OIDC,请尝试深入了解用户数据并打印他们用于登录 google 的电子邮件 - 这将证明您可以访问有关经过身份验证的用户的信息,这些信息是您从 Google 的 ID 令牌中获得的。