Log in or register to post comments

VWS API clarification

October 17, 2013 - 3:06am #1

Hi guys my first post so go easy =)

First of all thanks for a great tool, it's awesome!

So to my questions/feedback:

I've been trying to write my own code to upload targets via the VWS API. To do this I've been looking through both the sample codes and the description pages (https://developer.vuforia.com/resources/dev-guide/listing-targets-cloud-database) and the setting up the API page: 

https://developer.vuforia.com/resources/dev-guide/setting-api

I'm still struggling to get my code to work (getting AuthenticationFailure everytime) and when I have done this, I've notices some small errors and some very confusing stuff.

The realy confusing stuff is at the "Setting Up the API" page (https://developer.vuforia.com/resources/dev-guide/setting-api)

First of all we got the description: "All calls to use the VWS API must include the authorization header field. The field looks like this:

Authorization: VWS {provision_access_key}:{Signature}" Here is a mention of "provision_access_key", it is the first and last mention, and by looking at the samples (and some common sense) I'm guessing this is "server_access_key", but why not just write that.

The seccond confusing thing is the line: "The "server_secret_key" is the public server key provided when you set up your Cloud Recognition Database." Before reading this line I was convinced what "server_secret_key" was because the name gives it away, but now I'm a bit confused: "the public key". my guess was that the server secret key was as far from public as possible... or do they mean the client-secret key, or the server access key? - see where I'm going...

And the last small thing:

in all the descriptions in the Examplecode:

xample:

1
2
3
4
GET /targets HTTP/1.1
Host: vws.vuforia.com
Date: Mon, 23 Apr 2013 12:45:19 GMT
Authorization: VWS df8d23140eb443505c0661c5b58294ef472baf64:jHX6oLeqTXpynyqcvVC2MSHarhU

The last line in the Authorization header: jHX6oLeqTXpynyqcvVC2MSHarhU should be in base64, but there are 27 letters... so we are missing a padding(=) (I'm guessing). This could lead to confusions about not including the padding (=) when sending this string. (or maybe you shoudn't include it)

Anyway just some thoughts that popped up when trying to get this to work... just thought you should know!

 

VWS API clarification

October 17, 2013 - 4:41am #3

Thanks for the clarifications AlessandroB

I'm already looking through the Java and php samples trying to figure out what my code is doing wrong. I just wanted to let you guys know about how things could be read, and where people could have trouble understanding or missinterpreting. Maybe it dosen't have to be idiot-proof since you aren't trying to do theese things if you are an idiot to begin with =) But sometimes it could be good to get some feedback from regular users how they are seeing and reading things.

Thanks a lot anyway and keep up the awesome work with Vuforia! 

VWS API clarification

October 17, 2013 - 4:11am #2

Hi Losanti, thanks for your comments.

The term "provision_access_key" is indeed slightly misleading,

but as you guessed already, be reassured that it simply means "server_access_key" (the term "provision" here comes from the fact that the VWS API is used to "provision" targets to the Cloud server, so it is sometime used instead of "server").

The "server_secret_key" is just the key that you receive when you create your cloud account (and it's not "public", i.e. not visible to others). 

So, basically, and to summarize, you simply need to use the "server_access_key" and "server_secret_key" that you can always find in your Cloud account.

 

Also, a good thing I would like to suggest is to have a look at the JAVA sample implementation of the VWS:

https://developer.vuforia.com/resources/sample-apps/vuforia-web-services-api-java-implementation

as this could help clarify these issues (and also, it already works!!)

 

Log in or register to post comments