6
votes

"Authentification non pas au format correct" lors de la définition des propriétés de service BLOB (API de repos)

J'essaie de définir des règles CORS sur mon compte de stockage de blob Azure en suivant Ces instructions .

C'est l'erreur que je reçois après avoir effectué ma demande: P>

400 informations d'authentification n'est pas donnée dans le format correct. Vérifiez la valeur de l'en-tête d'autorisation forte> p> blockQuote>

Demande URL: P>

<?xml version="1.0" encoding="utf-8"?>
<StorageServiceProperties>
    <Cors>   
          <CorsRule>
                <AllowedOrigins>http://www.example.com</AllowedOrigins>
                <AllowedMethods>GET</AllowedMethods>
                <ExposedHeaders>x-ms-meta-data*,x-ms-meta*</ExposedHeaders>
                <AllowedHeaders>x-ms-meta-target*,x-ms-meta*</AllowedHeaders>
                <MaxAgeInSeconds>200</MaxAgeInSeconds>
        </CorsRule>
    <Cors>
</StorageServiceProperties>


0 commentaires

4 Réponses :


3
votes

La demande a un en-tête d'autorisation incomplete. Il doit contenir le schéma d'authentification, le nom du compte de stockage et la signature. Par exemple; XXX

Pour plus d'informations, reportez-vous à la section Authentification Pour les services de stockage Windows Azure . D'autre part, si vous utilisez l'une des bibliothèques client de stockage Windows Azure Storage, elle gérera l'authentification pour vous. Pour la bibliothèque .NET, veuillez consulter notre Package Nuget .


0 commentaires

12
votes

Pour les personnes atteintes de cette page et vous demandez pourquoi vous obtenez cette erreur, même si vous utilisez une URL de signature d'accès partagé, vous envoyez probablement votre jeton d'application à Azure. Assurez-vous de ne pas inclure l'en-tête d'autorisation dans ce cas.


1 commentaires

Ouais. J'ajoutais d'autres en-têtes de base de quelque chose d'autre et je l'ai rencontré.



4
votes

Suivre ce que @jsgoupil a dit:

Pour les personnes atteintes de cette page et vous demandez pourquoi vous obtenez cette erreur, même si vous utilisez une URL de signature d'accès partagé, vous envoyez probablement votre jeton d'application à Azure. Assurez-vous de ne pas inclure l'en-tête d'autorisation dans ce cas.

Si vous avez un intercepteur, vous pouvez ajouter un skip à une demande en suivant les instructions de ce message Stackoverflow: https://stackoverflow.com/a/49047764/5232022 xxx < p> Puis quand vous voulez sauter l'interception d'une demande particulière: xxx


1 commentaires

Merci - Je rencontre ce problème toutes les quelques semaines et oublie toujours quel est le problème. :)



0
votes

J'essayais de supprimer un fichier de stockage à l'aide d'une URL de signature d'accès partagé, à l'aide de l'URL de Signature d'accès AZURE .NET SDK V12.

L'erreur ci-dessus a été reçue car je inclus entièrement le StoragesHaredkeyCredential code> Lors de la création du blobclient code> avec l'URL SAS. P>

Le retrait des informations d'identification de stockage fixe le problème: P>

    public async Task DeleteFileFromStorage(string Uri)
    {
        Uri blobUri = GetDeletableSasUriForBlob(Uri);
        /*StorageSharedKeyCredential storageCredentials =
            new StorageSharedKeyCredential(_options.Value.AccountName, _options.Value.AccountKey);*/
        // Create the blob client.
        BlobClient blobClient = new BlobClient(blobUri);      //, storageCredentials);
        //Delete the file
        await blobClient.DeleteIfExistsAsync(DeleteSnapshotsOption.IncludeSnapshots);
    }


0 commentaires