Skip to content
This repository has been archived by the owner on Mar 22, 2018. It is now read-only.

Add support for Service SAS #60

Closed
arafato opened this issue Jun 7, 2017 · 10 comments
Closed

Add support for Service SAS #60

arafato opened this issue Jun 7, 2017 · 10 comments
Assignees

Comments

@arafato
Copy link
Owner

arafato commented Jun 7, 2017

See https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas for specification.

@arafato arafato self-assigned this Jun 7, 2017
@gigaSproule
Copy link

gigaSproule commented Jun 13, 2017

Trying to be helpful, I've started work on this already on my fork (as well as issue #59). I was going to create a PR after I updated the tests (I wrote some tests against the emulator as part of another project and then made this match those tests). However, I've noticed that there are inconsistencies between the Java and Node SDK's and then there are also differences to the documentation as well. If you want, I can create a PR into a branch and you can continue on that if you wish (I'm sure you can write it in a nicer way than I have).

Edit: I may have actually got it sorted.

@arafato
Copy link
Owner Author

arafato commented Jun 13, 2017

@gigaSproule This is great! Really appreciate your efforts here. Really excited to see your PR once you're done. :-)

@thisisthekap
Copy link
Contributor

@gigaSproule How far did you already get? I am asking because it is a while since you announced your PR, and I want to make sure that we are not waiting for something already abandoned.

@gigaSproule
Copy link

Hey, I did get something working, but I'm not going to say it's great code...
I was originally doing this for work, but due to one reason or another, the work got moved to another team so I never managed to have time to carry it on with my out of work commitments. I can submit a PR into a branch if you want? At least then it will allow you to take over something.

@arafato
Copy link
Owner Author

arafato commented Nov 22, 2017

Hi everybody,
the code base has massively changed since @gigaSproule forked Azurite and started implementing #60. @thisisthekap If this is a feature you need, I'm happy to prioritise it. I will reuse parts of the code that @gigaSproule has already written. Give me two weeks, I'll update you here once the feature has been implemented.

@gigaSproule
Copy link

@arafato As I said before, the code isn't pretty as I never got round to cleaning it up or dealing with every edge case. However, it should be a good starting point. Just so you are aware, to figure out the correct behaviour, I had the azure storage emulator running and used it's responses as a guide for the behaviour.

arafato added a commit that referenced this issue Nov 29, 2017
arafato added a commit that referenced this issue Nov 29, 2017
arafato added a commit that referenced this issue Nov 29, 2017
arafato added a commit that referenced this issue Nov 30, 2017
arafato added a commit that referenced this issue Dec 1, 2017
arafato added a commit that referenced this issue Dec 1, 2017
arafato added a commit that referenced this issue Dec 1, 2017
arafato added a commit that referenced this issue Dec 1, 2017
@arafato arafato closed this as completed in a09f023 Dec 1, 2017
@arafato
Copy link
Owner Author

arafato commented Dec 1, 2017

@gigaSproule @thisisthekap just published support for service-level SAS as v1.7.0. Hope you like it :-)

@thisisthekap
Copy link
Contributor

Thanks you very much for your effort. Nevertheless, I think some parts are not working flawlessly. I just created #124 to track the issue I experienced.

@gigaSproule
Copy link

Good work guys. Sorry I wasn't able to get any further than I did.

@thisisthekap unfortunately, I can see this being a never ending issue unless Microsoft finally provide an official alternative to this :(

@arafato
Copy link
Owner Author

arafato commented Dec 5, 2017

@gigaSproule I think it works now for most of the scenarios. The problem is when you are using Microsoft's SDKs to generate the signature. You can't really specify the version to use. Depending on the SDK version it will use different versions and you can't override. See Azure/azure-storage-node#382 for details. This is why in Azurite we are now generating the signature by ourselves to be able to specify the exact version.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants