Oauth 2.0 Azure Active Directory中的Azure API管理集成

Oauth 2.0 Azure Active Directory中的Azure API管理集成,oauth-2.0,azure-active-directory,azure-api-management,Oauth 2.0,Azure Active Directory,Azure Api Management,我想保护使用OAuth 2.0在Azure API管理中创建的API代理。 我想为OAuth使用Azure Active Directory。 根据MS文档,我必须在Azure AD中手动创建一个应用程序,并将该客户端ID和密钥复制到开发人员门户以生成OAuth令牌。但这只适用于开发人员门户获取JWT令牌 每次新开发人员来我的开发人员门户注册开发人员应用程序时,都会生成一对密钥(主键和次键)。 我可以使用这些密钥进行身份验证并生成JWT令牌吗。 此外,我希望这个过程是自动化的,这样我就不必在开发

我想保护使用OAuth 2.0在Azure API管理中创建的API代理。 我想为OAuth使用Azure Active Directory。 根据MS文档,我必须在Azure AD中手动创建一个应用程序,并将该客户端ID和密钥复制到开发人员门户以生成OAuth令牌。但这只适用于开发人员门户获取JWT令牌

每次新开发人员来我的开发人员门户注册开发人员应用程序时,都会生成一对密钥(主键和次键)。 我可以使用这些密钥进行身份验证并生成JWT令牌吗。 此外,我希望这个过程是自动化的,这样我就不必在开发人员注册和订阅后在AAD中手动执行任何操作

我还试图直观地表示我想要实现的场景:

我要求的图示


为什么要使用令牌而不是跳过第3步和第4步,直接将主键从开发者门户发送到Azure API管理?另外,需要注意的是,在第3步中,没有Azure AD主键和次键。这些是API管理密钥,而不是Azure AD密钥。我不想在每个请求中发送我的开发人员密钥,因为存在潜在的安全威胁,如果密钥被黑客窃取,我必须重置密钥。当使用令牌时,我只发送它们一次以获取令牌。如果令牌被盗,我可以使其失效并生成一个新令牌。到目前为止,我还没有弄清楚的是,如何在Azure AD中验证开发人员密钥以生成令牌。所有链接都建议在AAD中注册应用程序以生成访问令牌时使用Azure AD生成的密钥。此外,为了清晰起见,我已更新了初始图片中的文本,解释了要求,为什么您要使用令牌,而不是完全跳过步骤3和步骤4,只将主键从开发者门户发送到AzureAPI直接管理?另外,需要注意的是,在步骤3中,没有Azure AD主键和副键。这些是API管理密钥,而不是Azure AD密钥。我不想在每个请求中发送我的开发人员密钥,因为存在潜在的安全威胁,如果密钥被黑客窃取,我必须重置密钥。当使用令牌时,我只发送它们一次以获取令牌。如果令牌被盗,我可以使其失效并生成一个新令牌。到目前为止,我还没有弄清楚的是,如何在Azure AD中验证开发人员密钥以生成令牌。所有链接都建议在AAD中注册应用程序时使用Azure AD生成的密钥来生成访问令牌。此外,为了清晰起见,我更新了初始图片中的文本,解释了该要求