Goodreads OAuth Under the Hood
If you are curious about what the Goodreads OAuth submodule is doing under the hood, read on. None of the information should be critical
This submodule implements additional Goodreads API calls that require OAuth to access a specific Goodreads user’s information.
OAuth can be a very intimidating addition to a module. It needn’t be.
In its simplest, OAuth is a way for your website (a Consumer) to get, or in some changes change, more/less private information from another website (a Provider) on behalf of a User, without that User giving you their username or password for the Provider website.
The process OAuth uses to accomplish that is byzantinely complex internally, but for the average user of this module you won’t have to know a whole lot about how it accomplishes the magic. The process uses the same developer key and developer secret you need for the base Goodreads module, so there isn’t any special configuration required.
When you enable this submodule, each user will get a new capability to link their Goodreads account to your website, once linked they won’t have to ever answer that question again. You’ve seen OAuth in action on Facebook, Twitter, etc when at some point you see a page on those sites that says “Authorize xyz to use your account” or “xyz wants access to your account.” For instance, when a Drupal user clicks links their account on your website to their Goodreads account, they will see something like:
Once that User allows access for your site to access their Goodreads account, the submodule stores a special access token that can be used to automatically identify your site and the fact the User has given you permission to interact with their Goodreads account.
A key point to remember is enabling the module doesn't link a user to their Goodreads account, the user must edit their profile, go to the Goodreads tab and click on the link button, then allow the Drupal site access to their Goodreads data.
In more detail, the steps required to use the Goodreads OAuth API’s are:
for the user to Allow access.
If you are curious about what the Goodreads OAuth submodule is doing under the hood, read on. None of the information should be critical