OpenID Connect或OAuth2-如何从发行者元数据终结点获取身份验证和令牌终结点

问题描述

我看到我们可以在元数据端点上执行简单的HTTP Gets,并读取json值。 目前我正在使用google oauth2库 https://googleapis.dev/java/google-oauth-client/latest/overview-summary.html

一段时间以来,我一直在阅读该库的Javadoc。我仍然不知道该怎么做。 我不想分别配置/指定所有三个端点(授权,令牌,用户信息)。我宁愿通过在此api中使用某些内容来读取这些端点。

解决方法

我同意该要求,并且还将选择一个与元数据配合使用的库。

编码方式

this code of mine中,我使用的是基于标准的库:

  • 我的IssuerMetadata类获取端点
  • 我的身份验证器类使用终结点

我使用的JAVA图书馆

我个人在Java中喜欢经过认证的/基于标准的Nimbusds open source libraries-他们的文档也很好。

您的选择

您可能不需要使用Google库来调用Google,或者有时混合搭配是有意义的。我个人试图保留基于OAuth 2和Open Id Connect标准HTTPS消息的代码,而不是基于供应商特定的库