Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Azure AD使用客户端凭据保护API_Azure_Api_Oauth_Jwt_Azure Active Directory - Fatal编程技术网

通过Azure AD使用客户端凭据保护API

通过Azure AD使用客户端凭据保护API,azure,api,oauth,jwt,azure-active-directory,Azure,Api,Oauth,Jwt,Azure Active Directory,我有一个ASP.NET核心API托管在Azure中,可由多个受信任的客户端访问。我希望提供一个/auth端点,它接受客户机id和客户机机密。响应将是到期的OAuth访问令牌 我发现的许多示例/教程大多与用户名/密码登录和完整OAuth流(B2C)有关,这不是我要寻找的,因为受信任的客户机拥有这个秘密 我一直在关注Azure API管理,它可以链接到用于OAuth的Azure广告,但我认为现在这只会使事情变得复杂 在过去,我使用ASP.NET中间件生成并验证了JWT承载令牌,但我确信我应该通过Az

我有一个ASP.NET核心API托管在Azure中,可由多个受信任的客户端访问。我希望提供一个/auth端点,它接受客户机id和客户机机密。响应将是到期的OAuth访问令牌

我发现的许多示例/教程大多与用户名/密码登录和完整OAuth流(B2C)有关,这不是我要寻找的,因为受信任的客户机拥有这个秘密

我一直在关注Azure API管理,它可以链接到用于OAuth的Azure广告,但我认为现在这只会使事情变得复杂

在过去,我使用ASP.NET中间件生成并验证了JWT承载令牌,但我确信我应该通过Azure AD生成并验证令牌——或者我错了

[希望因为没有明确的代码相关而获得一些反对票,但真的需要一些建议让我通过这一关]

我希望提供一个/auth端点,它接受客户机id和 客户的秘密。响应将是到期的OAuth访问令牌

你可以用。然后,您可以使用该端点获取访问令牌

POST /{tenant}/oauth2/v2.0/token HTTP/1.1           //Line breaks for clarity
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

client_id=535fb089-9ff3-47b6-9bfb-4f1264799865
&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default
&client_secret=qWgdYAmab0YSkuL1qKv5bPX
&grant_type=client_credentials
在执行此操作之前,您需要了解应用程序api的详细信息。
程序的内容如下所示

"appRoles": [
    {
    "allowedMemberTypes": [ "Application" ],
    "description": "Accesses the TodoListService-Cert as an application.",
    "displayName": "access_as_application",
    "id": "ccf784a6-fd0c-45f2-9c08-2f9d162a0628",
    "isEnabled": true,
    "lang": null,
    "origin": "Application",
    "value": "access_as_application"
    }
],

也许就是你要找的那个,不是吗?谢谢@Sergey-一定会读到的。看起来很接近我要找的东西。:-)您好,您在哪里添加了需要保护的API?