问题描述
我想使用客户端证书连接到 Azure AD - 而不是 ID 和机密
证书在文件夹中,不在密钥库中
我们有一些限制,所以不能使用 msal4j。
所以想创建一个像 - get Access Token from Azure AD Java
但使用证书
谁能告诉我 - 如何使用 http 连接 api 创建令牌?
解决方法
您可以将 client credentials flow 与客户端证书一起使用。
POST http://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
scope=https://graph.microsoft.com/.default
&client_id=<client_id>
&client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer
&client_assertion=<An assertion (a JSON web token)>
&grant_type=client_credentials
Client assertions 可用于任何使用客户端机密的地方。您可以将 client_secret
替换为 client_assertion
和 client_assertion_type
参数。你可以用java来参考code sample。