gpt4 book ai didi

azure - 如何在 Azure 中获取 Network Rest API 的访问 token ?

转载 作者:行者123 更新时间:2023-12-02 07:37:15 25 4
gpt4 key购买 nike

以下是引用 Azure 网络 API 的要点:

以下信息对于所有任务都是通用的:

  1. 将 {api-version} 替换为 2015-06-15。
  2. 将 {subscription-id} 替换为 URI 中的订阅标识符。
  3. 将 {resource-group-name} 替换为资源组。有关详细信息,请参阅使用资源组管理 Azure 资源。
  4. 将 Content-Type header 设置为 application/json。
  5. 将授权 header 设置为从 Azure Active Directory 获取的 JSON Web token 。

我对第五点感到困惑。您能否指导我如何使用 Azure Active Directory 获取访问 token ?

最佳答案

Azure Active Directory 基于 oauth 身份验证协议(protocol)构建,如 RFC 6749 The OAuth 2.0 Authorization Framework 中所定义。

使用 token 背后的概念是,您可以向中央机构进行身份验证,然后将权限授予单独的系统,而无需向该系统提供您的凭据。

来自 Service to Service Calls Using Client Credentials

taken from https://msdn.microsoft.com/en-gb/library/azure/dn645543.aspx

在这种情况下,如果 3 中调用的服务器遭到破坏,凭据仍然是安全的,并且攻击者只能在 token 过期之前访问资源。因此,代币的生命周期通常很短。

您可以通过使用以下内容向 login.microsoftonline.com 发出 POST 请求来获取 token

POST contoso.com/oauth2/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials&client_id=625bc9f6-3bf6-4b6d-94ba-e97cf07a22de&client_secret=qkDwDJlDfig2IpeuUZYKH1Wb8q1V0ju6sILxQQqhJ+s=&resource=https%3A%2F%2Fservice.contoso.com%2F

这将产生以下响应

{
"access_token":"eyJhbGciOiJSUzI1NiIsIng1dCI6IjdkRC1{shorted}",
"token_type":"Bearer",
"expires_in":"3599",
"expires_on":"1388452167",
"resource":"https://service.contoso.com/"
}

从中您可以获取访问 token 并在您的应用程序中使用它。

这是 Azure 的身份验证流程,无法将其更改为仅使用预配置的 token 。即使您使用证书,您仍然可以获得一个 token 并使用它对资源进行授权。

关于azure - 如何在 Azure 中获取 Network Rest API 的访问 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36981893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com