OAuth

module OAuth

Overview

The OAuth module provides an OAuth::Consumer as specified by RFC 5849.

Performing HTTP client requests with OAuth authentication

Assuming you have an access token, its secret, the consumer key and the consumer secret, you can setup an HTTP::Client to be authenticated with OAuth using this code:

require "http/client"
require "oauth"

token = "some_token"
secret = "some_secret"
consumer_key = "some_consumer_key"
consumer_secret = "some_consumer_secret"

# Create an HTTP::Client as usual
client = HTTP::Client.new("api.example.com", tls: true)

# Prepare it for using OAuth authentication
OAuth.authenticate(client, token, secret, consumer_key, consumer_secret)

# Execute requests as usual: they will be authenticated
client.get("/some_path")

This is implemented with HTTP::Client#before_request to add an authorization header to every request.

Alternatively, you can create an OAuth::Consumer and then invoke its OAuth::Consumer#authenticate method, or create an OAuth::AccessToken and invoke its OAuth::AccessToken#authenticate.

Obtaining access tokens

See OAuth::Consumer for an example.

Defined in:

oauth/access_token.cr
oauth/oauth.cr

Class Method Summary

Class Method Detail

def self.authenticate(client : HTTP::Client, token, token_secret, consumer_key, consumer_secret, extra_params = nil) : NilSource

Sets up an HTTP::Client to add an OAuth authorization header to every request performed. Check this module's docs for an example usage.

© 2012–2017 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
https://crystal-lang.org/api/0.22.0/OAuth.html

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部