标签: sas-token

事件中心 API POST:40103:授权令牌签名无效

在这被标记为重复之前:我已经阅读了 SO 上的每个问题/答案以及上述错误消息,但没有一个解决了我的问题。我一定错过了一些简单的东西,因为应该简单的东西不起作用。

我创建了一个事件中心命名空间,其中包含“发送”共享访问策略和命名空间中的事件中心。

使用Python Event Hub SDK中的代码(在另一个答案中建议),我有以下脚本来创建Authorization标头:

import time
from base64 import b64encode, b64decode
from hashlib import sha256
from hmac import HMAC
from urllib.parse import quote_plus, urlencode

def generate_sas_token(uri, policy, policy_key, expiry_days=14):
    expiry = time.time() + expiry_days * 60 * 60 * 24
    encoded_uri = quote_plus(uri)
    ttl = int(expiry)
    sign_key = '{}\n{}'.format(encoded_uri, ttl)
    signature = b64encode(HMAC(b64decode(policy_key), sign_key.encode('utf-8'), sha256).digest())
    result = {
        'sr': uri,
        'sig': signature,
        'se': str(ttl),
        'skn': policy
    }
    return 'SharedAccessSignature ' + …
Run Code Online (Sandbox Code Playgroud)

azure azureservicebus azure-eventhub sas-token

3
推荐指数
1
解决办法
3453
查看次数

Azure SAS 令牌授权资源类型不匹配

我已经创建了天蓝色存储帐户。我已经创建了文件存储。我已经生成了 SAS 令牌。当我尝试使用 sas 令牌访问文件时,显示错误“远程服务器返回错误:(403) 禁止。”

我能够生成 SAS 令牌。当我尝试访问文件存储中的文件时抛出异常。我尝试在浏览器上复制并粘贴网址,但会引发错误“

<Error>
       <Code>AuthorizationResourceTypeMismatch</Code>
       <Message>
       This request is not authorized to perform this operation using 
        this resource type. RequestId:4cbc0cbe-401a-00c2-2edf- 
        202bc4000000 Time:2019-06-12T05:26:39.4816687Z
        </Message>
        </Error>"
Run Code Online (Sandbox Code Playgroud)

我用来生成 SAS 令牌的代码

静态字符串 GetAccountSASToken()

      SharedAccessAccountPolicy policy = new 
                          SharedAccessAccountPolicy()
    {
        Permissions = SharedAccessAccountPermissions.Read | 
                    SharedAccessAccountPermissions.Write | 
                    SharedAccessAccountPermissions.List,
                     Services = SharedAccessAccountServices.File,
        ResourceTypes = SharedAccessAccountResourceTypes.Service,
        SharedAccessExpiryTime = DateTime.UtcNow.AddHours(24),
        Protocols = SharedAccessProtocol.HttpsOnly,


    };
Run Code Online (Sandbox Code Playgroud)

我用来访问文件的代码

 XDocument objdoc = XDocument.Load(filepath+ sasToken);
Run Code Online (Sandbox Code Playgroud)

将文件加载到 XDocument 后,我​​必须执行一些读写操作。请帮助查找我正在做的错误

azure azure-storage-account sas-token

0
推荐指数
2
解决办法
8402
查看次数