Hi Brad -
Hi - Rather than start a new thread I wanted to see if you might be able to shed some additional light on a problem I'm having validating an oauth signature that's being passed into my external tool from a Canvas call. I've set up a testing program to help me quickly run through various permutations of parameters, so that my generated signature matches what Canvas is passing in, but no match yet.
Here's some knowns and unknowns:
Knowns:
1. Canvas passes in a timestamp and nonce.
2. I've created the external tool call in Canvas, and provided the consumer key and shared secret.
3. I'm seeing the consumer key as a parameter passed from Canvas.
4. Using oauth version 1.0 although I've tried 2.0
5. http method is POST, although I've also tried permutations with GET
6. encryption method is HMAC-SHA1
Unknowns:
1. Canvas does not pass in an oauth_url as a parameter.
2. I'm creating the value of the oauth_url by using the exact URL string (https://[toolsite]/page) that I'm typing into Canvas when creating the tool (so the tool location). I've also tried using the URL of the tool as seen when the user hovers their mouse over the tool link on the left hand side (https://[site].
instructure.com/courses/[number]/external_tools/[number], but that didn't generate a match either.
3. Canvas is not sending out any member token as a parameter, nor did it appear necessary to create any since there is no data that will be passed back to Canvas from this tool, so my function is using blanks for the token values, which appears a standard/OK option.
Tnx for any advice. I'm using
vb.net and have found some apparently reliable code posted elsewhere, and have traced it through.
Steve