2016-02-19 5 views
5

मैं सीडीएन कैश ड्रॉप करने के लिए एक प्रोग्राम बना रहा हूं। और इसलिए मैंने किया था के रूप में प्रलेखन कहा मैं अभी भी इस मिल:अनुरोध Azure REST API को अधिकृत कैसे करें?

{ "त्रुटि": { "कोड": "AuthenticationFailedInvalidHeader", "message":। "प्रमाणीकरण विफल 'प्राधिकरण' शीर्षक एक में प्रदान की जाती है अवैध प्रारूप।" } }

तो यह मूल रूप से कहता है कि प्रमाणीकरण टोकन स्वयं विकृत है (गलत या समाप्त नहीं हुआ)। भले ही मैंने दस्तावेज़ीकरण के रूप में किया था।

मेरा अनुरोध-उत्तर के प्रवाह लगता है कि यह (मैं वास्तविक डेटा अस्पष्ट):

REQUEST 

POST /subscriptions/29bdq1a7-348b-48fe-b9e6-b90c432892ff/resourceGroups/cdn-4/providers/Microsoft.Cdn/Profiles/CDN-3-Premium/endpoints/custom-endpoint.azureedge.net/purge?api-version=2015-06-01 HTTP/1.1 
Content-Length: 90 
User-Agent: GuzzleHttp/6.1.1 curl/7.35.0 PHP/7.0.2-2+deb.sury.org~trusty+1 
Host: management.azure.com 
Authorization: SharedAccessSignature uid=56c6d48a66904d02ce030003&ex=2017-02-19T11:41:00.0000000Z&sn=9wBsmFuP1ps01rt8nVlvsiAIdJMOqNsmGaiXUlfT35RxOvWAjHHcSIQdJA8v9wGvX4bJgX5fu1QyqVG6y9iQ6Q== 
Content-Type: application/json 

{ 
    "ContentPaths": [ 
     "/uploads/static/ads_en.json", 
     "/pic2.jpg" 
    ] 
} 

    RESPONSE 

    HTTP/1.1 401 Unauthorized 
Cache-Control: no-cache 
Pragma: no-cache 
Content-Type: application/json; charset=utf-8 
Expires: -1 
WWW-Authenticate: Bearer authorization_uri="https://login.windows.net/c87x6f33-af21-4461-a5b1-29647d8e9281", error="invalid_token", error_description="The authentication scheme of SharedAccessSignature is not supported." 
x-ms-failure-cause: gateway 
x-ms-request-id: 3514027b-e731-411c-b8es-cdf77d636284 
x-ms-correlation-request-id: 3514137b-e731-411c-b8ee-cdf77d636284 
x-ms-routing-request-id: WESTEUROPE:20160219T110919Z:3514037b-e731-411c-b7ee-cdf77d636184 
Strict-Transport-Security: max-age=31536000; includeSubDomains 
Date: Fri, 19 Feb 2016 11:09:19 GMT 
Connection: close 
Content-Length: 150 

{"error":{"code":"AuthenticationFailedInvalidHeader","message":"Authentication failed. The 'Authorization' header is provided in an invalid format."}}\ 

आप इसे हल करने के लिए जिस तरह से सुझाव है कि कर सकते हैं?

+0

किस दस्तावेज़ के अनुसार? क्या आरईएसटी एपीआई ShareAccessSignatures का समर्थन करता है? –

+0

इसलिए मैंने इन दो स्रोतों का अध्ययन किया: https://msdn.microsoft.com/en-us/library/azure/dn776326.aspx और https://msdn.microsoft.com/en-us/library/mt634451 .aspx –

+1

पहला लिंक Azure API प्रबंधन (https://azure.microsoft.com/en-us/documentation/articles/api-management-key-concepts/) पर है, जो एक अलग उत्पाद है। यह Azure Rest API नहीं है। अधिक जानकारी के लिए यह लिंक देखें: https://msdn.microsoft.com/en-us/library/azure/ee460782.aspx –

उत्तर

1

मुझे लगता है कि भ्रम का एक हिस्सा यह है कि दो विशिष्ट Azure प्रबंधन API (और Azure API प्रबंधन के साथ कुछ भी नहीं करने के लिए) हैं।

"सेवा प्रबंधन" API और Azure संसाधन प्रबंधक API (ARM) है।

आप जिस मूल यूआरएल का उपयोग कर रहे हैं वह एआरएम एपीआई के लिए है और वे साझा एक्सेस हस्ताक्षर का उपयोग नहीं करते हैं। एआरएम एपीआई को सीधे कॉल करने के आसपास सबसे अच्छा आलेख सीधे है, http://blog.davidebbo.com/2015/12/calling-arm-using-plain-rest.html

1

प्रमाणीकरण बकवास बचने के लिए आप सी # एसडीके https://github.com/Azure/azure-sdk-for-net/tree/AutoRest/src/ResourceManagement/Cdn

उपयोग कर सकते हैं आप nuget उपयोग कर सकते हैं इसे सेट अप करने के लिए।

+0

[केवल लिंक के लिए डाउनवॉटेड] [http://meta.stackexchange.com/a/8259/171858)। उत्तर में उत्तर में लिंक में प्रासंगिक कोड शामिल होना चाहिए। –

संबंधित मुद्दे