server | client

OAuth Test Server

Instructions for Use

This is a test server with a predefined static set of keys and tokens, you can make your requests using them to test your code (and mine ;)).

Your Consumer Key / Secret

Use this key and secret for all your requests.

Getting a Request Token

A successful request will return the following with new parameters returned in OAuth 2008.1:

oauth_token=requestkey&oauth_token_secret=requestsecret&oauth_expires_in=3600

An unsuccessful request will attempt to describe what went wrong using oauth_problem codes.

Example

http://api.mh-freya-game.com/oauth/example/request_token.php?oauth_version=1.0&oauth_nonce=b1348e78bdf205f4d8268ab58cd65b86&oauth_timestamp=1750919619&oauth_consumer_key=key&oauth_signature_method=RSA-SHA1&oauth_signature=Wymqq8oAuiCi9ADM4EBiT4KT9ssbYTNK7n3pprH3VEuum%2FmCA9vQVxjBPFG1RE%2Bx7JzBBYW35NhxUz9AWSJjEEYHnm17clR9KmxltEUC9RLNgkVN%2BF5U0qZk2J%2BioXOXGntbICW%2F49a2IwE8gzyNpa4c043WAyKODxFPOWVsl44%3D

New in OAuth 2008.1

Getting an Access Token

The Request Token provided above is already authorized, you may use it to request an Access Token right away.

A successful request will return the following with new parameters returned in OAuth 2008.1:

oauth_token=accesskey&oauth_token_secret=accesssecret&oauth_session_handle=sessionhandle&oauth_expires_in=3600&oauth_authorization_expires_in=3600

An unsuccessful request will attempt to describe what went wrong.

Example

http://api.mh-freya-game.com/oauth/example/access_token.php?oauth_version=1.0&oauth_nonce=b4595b7f70d2da27a9a2a36f34c63144&oauth_timestamp=1750919619&oauth_consumer_key=key&oauth_token=requestkey&oauth_signature_method=RSA-SHA1&oauth_signature=fq%2F9tVcQBwuZNTOvXwuZz%2BkG0O0GSuG%2B81Sl8rlBX6i5q8wAQLC7MzvmaP3Zf9F4kBypclCZ4n6KDPnE3RoapmFNmDJpnmHlviVfq9c3bZ7d6CNEB0X1GT53ys1kEMfN0yLybWZ%2BwH2idZM1Fm%2BMdXPO4IXMGhy9ImIVsROayQQ%3D

New in OAuth 2008.1

New in OAuth 2008.1: Renewing an Access Token

A feature new in OAuth 2008.1 is access token renewal. When access tokens expire, you must acquire a new token using the renewal api.

A successful request will return the following:

oauth_token=accesskey&oauth_token_secret=accesssecret&oauth_session_handle=sessionhandle&oauth_expires_in=3600&oauth_authorization_expires_in=3600

An unsuccessful request will attempt to describe what went wrong.

Example

http://api.mh-freya-game.com/oauth/example/renew_access_token.php?oauth_version=1.0&oauth_nonce=03b96ec1cdce6d0c1c43eb6b62b54d9a&oauth_timestamp=1750919619&oauth_consumer_key=key&oauth_token=accesskey&oauth_session_handle=sessionhandle&oauth_signature_method=RSA-SHA1&oauth_signature=Qt%2F2oJEKB8oVk1yJZt9SE%2BFsvolN7F8UbruIwFoCIWrquBerKFp1okQqLn3KE9lIzgOnNse5h96LslWA%2BSBRYQkBnlcSCt%2F1FDsljcdoDmi6JbUedUgHQEKAEEBTAliG8LnTnooM%2Beg%2BkirQ7cTcavX%2BGqrgr%2BqB8EOcJHSz13M%3D

Making Authenticated Calls

Using your Access Token you can make authenticated calls.

A successful request will echo the non-OAuth parameters sent to it, for example:

method=foo&bar=baz

An unsuccessful request will attempt to describe what went wrong.

Example

http://api.mh-freya-game.com/oauth/example/echo_api.php?oauth_version=1.0&oauth_nonce=018834f76ced16bccb55f82e014cb1bf&oauth_timestamp=1750919619&oauth_consumer_key=key&method=foo%2520bar&bar=baz&oauth_token=accesskey&oauth_signature_method=RSA-SHA1&oauth_signature=S33jIsgVnrcvlQ1%2F79e68m%2BUA02AlLj%2BqZwHUR9BS7GOEfH%2FeBkWL42dzXCnavU%2BGmL0c8NUK6AetxHWEwNDYmgX0%2BDwufUBHVuS0KYXJE%2F5tU3ykKGwXb3bAGbJiRv58TpZI%2BaarQ6gtR3XwLlaUbVyJJ%2FPHTAa6o27r3jryV4%3D

Currently Supported Signature Methods

Current signing method is: RSA-SHA1

-----BEGIN PRIVATE KEY-----
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALRiMLAh9iimur8V
A7qVvdqxevEuUkW4K+2KdMXmnQbG9Aa7k7eBjK1S+0LYmVjPKlJGNXHDGuy5Fw/d
7rjVJ0BLB+ubPK8iA/Tw3hLQgXMRRGRXXCn8ikfuQfjUS1uZSatdLB81mydBETlJ
hI6GH4twrbDJCR2Bwy/XWXgqgGRzAgMBAAECgYBYWVtleUzavkbrPjy0T5FMou8H
X9u2AC2ry8vD/l7cqedtwMPp9k7TubgNFo+NGvKsl2ynyprOZR1xjQ7WgrgVB+mm
uScOM/5HVceFuGRDhYTCObE+y1kxRloNYXnx3ei1zbeYLPCHdhxRYW7T0qcynNmw
rn05/KO2RLjgQNalsQJBANeA3Q4Nugqy4QBUCEC09SqylT2K9FrrItqL2QKc9v0Z
zO2uwllCbg0dwpVuYPYXYvikNHHg+aCWF+VXsb9rpPsCQQDWR9TT4ORdzoj+Nccn
qkMsDmzt0EfNaAOwHOmVJ2RVBspPcxt5iN4HI7HNeG6U5YsFBb+/GZbgfBT3kpNG
WPTpAkBI+gFhjfJvRw38n3g/+UeAkwMI2TJQS4n8+hid0uus3/zOjDySH3XHCUno
cn1xOJAyZODBo47E+67R4jV1/gzbAkEAklJaspRPXP877NssM5nAZMU0/O/NGCZ+
3jPgDUno6WbJn5cqm8MqWhW1xGkImgRk+fkDBquiq4gPiT898jusgQJAd5Zrr6Q8
AO/0isr/3aa6O6NLQxISLKcPDk2NOccAfS/xOtfOz4sJYM3+Bs4Io9+dZGSDCA54
Lw03eHTNQghS0A==
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIBpjCCAQ+gAwIBAgIBATANBgkqhkiG9w0BAQUFADAZMRcwFQYDVQQDDA5UZXN0
IFByaW5jaXBhbDAeFw03MDAxMDEwODAwMDBaFw0zODEyMzEwODAwMDBaMBkxFzAV
BgNVBAMMDlRlc3QgUHJpbmNpcGFsMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
gQC0YjCwIfYoprq/FQO6lb3asXrxLlJFuCvtinTF5p0GxvQGu5O3gYytUvtC2JlY
zypSRjVxwxrsuRcP3e641SdASwfrmzyvIgP08N4S0IFzEURkV1wp/IpH7kH41Etb
mUmrXSwfNZsnQRE5SYSOhh+LcK2wyQkdgcMv11l4KoBkcwIDAQABMA0GCSqGSIb3
DQEBBQUAA4GBAGZLPEuJ5SiJ2ryq+CmEGOXfvlTtEL2nuGtr9PewxkgnOjZpUy+d
4TvuXJbNQc8f4AMWL/tO9w0Fk80rWKp9ea8/df4qMq5qlFWlx6yOLQxumNOmECKb
WpkUQDIDJEoFUzKMVuJf4KO/FJ345+BNLGgbJ6WujreoM1X/gYfdnJ/J
-----END CERTIFICATE-----

Further Resources

There is also a test client implementation in here.

The code running this example can be downloaded from the PHP section of the OAuth google code project: http://code.google.com/p/oauth/