12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- ============
- erlang-oauth
- ============
- What is this?
- -------------
- An Erlang wrapper around the OAuth protocol.
- What is OAuth?
- --------------
- An "open protocol to allow secure API authentication in a simple and standard
- method from desktop and web applications". See http://oauth.net/ for more info.
- What do I need?
- ---------------
- Erlang, and erlang-fmt (http://tfletcher.com/dev/erlang-fmt).
- The Makefile assumes that erlang-fmt is contained in the parent directory of
- this one, so you might want to edit the Makefile if you have it elsewhere.
- How do I use it?
- ----------------
- The crypto and inets applications need to be running, and---as it's easy to
- forget---all the code needs to be compiled. A typical authentication flow
- would be similar to the following:
- ConsumerKey = "key",
- ConsumerSecret = "secret",
- SignatureMethod = "HMAC-SHA1",
- Consumer = oauth_consumer:new(ConsumerKey, ConsumerSecret, SignatureMethod),
- HttpResponse = oauth:get(RequestTokenURL, Consumer),
- RequestTokenPair = oauth_token_pair:new(HttpResponse),
- % If necessary, direct user to the Service Provider,
- % with RequestToken = element(1, RequestTokenPair).
- HttpResponse2 = oauth:get(AccessTokenURL, Consumer, RequestTokenPair),
- AccessTokenPair = oauth_token_pair:new(HttpResponse2),
- oauth:get(ProtectedResourceURL, Consumer, AccessTokenPair, ExtraParams).
- Calling oauth:get or oauth:post returns an HTTP response tuple, as returned
- from http:request/4. Type "make termie", or look at the oauth_termie module
- for a working example. Thanks Andy!
- Alternatively, you can use oauth_request:header/6 to generate an HTTP
- Authorization header, as described by http://oauth.net/core/1.0/#auth_header.
- This isn't (currently) integrated into oauth:get and oauth:post, so you would
- need to use http:request/4 directly in this case.
- Who can I contact if I have another question?
- ---------------------------------------------
- Tim Fletcher (http://tfletcher.com/).
|