API認証方法一覧
2924 ワード
Open api authentication Amazon DigitalOcean Webchat Weibo QQ
Amazon Web Services
HMAC Hash Message Authentication Code
コア構想【Client】データ を何らかの順序で組み合わせる【Client】private key暗号化組合せデータを用いてHMAC を生成する【Client】サーバ側にデータを送信します. ユーザ識別情報、例えばAPI Key、Client ID、User ID;あなたが誰だかを示すために Timestamp,重複攻撃を避ける 生成HMAC その他のデータ 【Server】すべてのデータを受信 【Server】Timestamp をチェック【Server】ユーザー識別情報を使用してprivate key に問い合わせる【Server】すべてのデータからHMAC を取り出す【Server】クライアントと同じ順序でデータ を組み合わせる【Server】private key暗号化組合せデータを用いてHMAC を生成する【Server】一致一致し、要求が正当であると判断した ヒント:private keyは転送されません
http://docs.aws.amazon.com/general/latest/gr/sigv4-create-string-to-sign.html
http://docs.aws.amazon.com/general/latest/gr/sigv4-calculate-signature.html
http://www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/
Amazon Simple Storage Service (One of AWS)
Developers are issued an AWS access key ID and AWS secret access key when they register.
The Amazon S3 REST API uses the standard HTTP Authorization header to pass authentication information.
開発者が登録すると、AWSアクセスキーIDとAWS secretアクセスキーが得られます.要求認証について、AWSAccessKeyIdはsignatureを計算し、どの開発者が開始した要求であるかを識別するために使用されます.
Signatureは、要求において選択された要素のRFC 2104 HMAC−SHA 1アルゴリズムによって生成される.
http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html#ConstructingTheAuthenticationHeader
DigitalOcean
httpsまずユーザ名パスワードを使用して管理プラットフォーム にログインする.管理プラットフォームにおいて、OAuth Token(実際にはUsernameとPasswordに代わる) を生成する api要求HTTPヘッダにOAuth Token を携帯する
curl例
https://developers.digitalocean.com/documentation/v2/#authentication
Webchat
微信開発インタフェース呼び出し証明書
ステップ【Client】アクセス_tokenを取得し、データを送信する appid secret
他のapi呼び出しにはaccessが必要です.token(access_token有効期間は2時間、タイミング取得が必要) http://wiki.connect.qq.com/openapi呼び出しの説明_oauth2-0
Weibo
ログイン権限を必要としないapiの直接使用
OAuth 2プロトコルを使用してアクセスを取得するにはログイン権限が必要です.token、リクエスト送信時にaccessを提供するtoken
http://open.weibo.com/wiki/認証メカニズムの説明
QQ
OAuth 2プロトコル
http://wiki.connect.qq.com/oauth2-0概要
Amazon Web Services
HMAC Hash Message Authentication Code
コア構想
http://docs.aws.amazon.com/general/latest/gr/sigv4-create-string-to-sign.html
http://docs.aws.amazon.com/general/latest/gr/sigv4-calculate-signature.html
http://www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/
Amazon Simple Storage Service (One of AWS)
Developers are issued an AWS access key ID and AWS secret access key when they register.
The Amazon S3 REST API uses the standard HTTP Authorization header to pass authentication information.
Authorization: AWS AWSAccessKeyId:Signature
開発者が登録すると、AWSアクセスキーIDとAWS secretアクセスキーが得られます.要求認証について、AWSAccessKeyIdはsignatureを計算し、どの開発者が開始した要求であるかを識別するために使用されます.
Signatureは、要求において選択された要素のRFC 2104 HMAC−SHA 1アルゴリズムによって生成される.
Authorization = "AWS" + " " + AWSAccessKeyId + ":" + Signature;
Signature = Base64( HMAC-SHA1( YourSecretAccessKeyID, UTF-8-Encoding-Of( StringToSign ) ) )
http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html#ConstructingTheAuthenticationHeader
DigitalOcean
https
curl例
curl -X $HTTP_METHOD -H "Authorization: Bearer $TOKEN" "https://api.digitalocean.com/v2/$OBJECT"
curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"name": "example.com", "ip_address": "127.0.0.1"}' -X POST "https://api.digitalocean.com/v2/domains"
https://developers.digitalocean.com/documentation/v2/#authentication
Webchat
微信開発インタフェース呼び出し証明書
ステップ
ログイン権限を必要としないapiの直接使用
OAuth 2プロトコルを使用してアクセスを取得するにはログイン権限が必要です.token、リクエスト送信時にaccessを提供するtoken
http://open.weibo.com/wiki/認証メカニズムの説明
OAuth 2プロトコル
http://wiki.connect.qq.com/oauth2-0概要