Skip to content

aseemsethi/oauth2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A typical execution of the oauth2 code:

[asethi@localhost oauth2]$ ./oauth2 

Oauth2 in Action..........
User goes to a web site, and clicks on 'Login via Google'
This sends a GET request to Google requesting for an auth code
Auth Code params:
        Enter client id (clientId):

        Enter client secret(clientSecret):


Please go to this url in browser: 
https://accounts.google.com/o/oauth2/v2/auth?response_type=code&client_id=681355735342-echlhpgf36phisuk13kcosd4em5q4ois.apps.googleusercontent.com&redirect_uri=http://localhost/oauth2callback&scope=https://www.googleapis.com/auth/userinfo.email&state=INIT

The response will be of the type - 
http://localhost/oauth2callback?state=INIT&code=4/Zkx5zJ_Y72oY5k4G9pBfLOMwsAojaCsYlcyftq-y3FA#

From the above Response, pick up the AuthToken and put it here: 4/Zkx5zJ_Y72oY5k4G9pBfLOMwsAojaCsYlcyftq-y3FA#

 redirectUrl: http://localhost/oauth2callback
 Making an Access Token request: grant_type=authorization_code&client_id=681355735342-echlhpgf36phisuk13kcosd4em5q4ois.apps.googleusercontent.com&client_secret=xxxxx&code=4/Zkx5zJ_Y72oY5k4G9pBfLOMwsAojaCsYlcyftq-y3FA#&redirect_uri=http://localhost/oauth2callback
{
 "access_token": "ya29.Glz_BN4dxcGEVMLnlnzD5VYs7DVOB7lP-b6zyV82zf7ALQja6Jb9utxgz7B62LNMFd29C-WNshwoU6molbD66Cr-jN466pKPJu8TVB9OroGQD8_Q_O3bTR-XnPm7zg",
 "token_type": "Bearer",
 "expires_in": 3594,
 "id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6ImE3MTE0OTBiNWJlODVhODU1YWJhYjQ4M2FiODhkYjc4YjVhYTRmYmEifQ.eyJhenAiOiI2ODEzNTU3MzUzNDItZWNobGhwZ2YzNnBoaXN1azEza2Nvc2Q0ZW01cTRvaXMuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJhdWQiOiI2ODEzNTU3MzUzNDItZWNobGhwZ2YzNnBoaXN1azEza2Nvc2Q0ZW01cTRvaXMuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJzdWIiOiIxMDE2MDU2MDU5MTczNDc4NDI0NTIiLCJlbWFpbCI6ImFzZWVtc2V0aGk3MEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiYXRfaGFzaCI6IlFPRm9Wd2NKRWpZUDF4SnNLR3YxTGciLCJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJpYXQiOjE1MTAyMDg2NTgsImV4cCI6MTUxMDIxMjI1OH0.fY2T-yuZvisECg5IOJsRWXaMpmdWXLUPe2D5aiajohFtzOKKZqZkeLinOhkNhXXlWRpQPQQrSojprbSUdYVAG8Gj4OzdE1nLx8JXebJiiUO3P6JFIQ1WJ5bkDlGw2F5jpK5QMSEN0UzaBYV4AkLwKKwbFTN-I8Or6kXjyTrAF2KgzZy_tkghSAjrGvM1oPUIUaL1NnnHrhl6rOz4afaYKQoLUDn6xqPW1K4cOweW-EBE8DeLvdxqE_uM7XcdSvFTqIurg6ydgNZowdArrH1KKCx1G8WfosJExW6pj-3azyvqNs5qtMN1XjtvZV1C997G_QoOG_MKDA-xhrH-ND02lw"
}
2J��g
Access Token Found: access_token": "ya29.Glz_BN4dxcGEVMLnlnzD5VYs7DVOB7lP-b6zyV82zf7ALQja6Jb9utxgz7B62LNMFd29C-WNshwoU6molbD66Cr-jN466pKPJu8TVB9OroGQD8_Q_O3bTR-XnPm7zg",
 "token_type": "Bearer",
 "expires_in": 3594,
 "id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6ImE3MTE0OTBiNWJlODVhODU1YWJhYjQ4M2FiODhkYjc4YjVhYTRmYmEifQ.eyJhenAiOiI2ODEzNTU3MzUzNDItZWNobGhwZ2YzNnBoaXN1azEza2Nvc2Q0ZW01cTRvaXMuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJhdWQiOiI2ODEzNTU3MzUzNDItZWNobGhwZ2YzNnBoaXN1azEza2Nvc2Q0ZW01cTRvaXMuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJzdWIiOiIxMDE2MDU2MDU5MTczNDc4NDI0NTIiLCJlbWFpbCI6ImFzZWVtc2V0aGk3MEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiYXRfaGFzaCI6IlFPRm9Wd2NKRWpZUDF4SnNLR3YxTGciLCJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJpYXQiOjE1MTAyMDg2NTgsImV4cCI6MTUxMDIxMjI1OH0.fY2T-yuZvisECg5IOJsRWXaMpmdWXLUPe2D5aiajohFtzOKKZqZkeLinOhkNhXXlWRpQPQQrSojprbSUdYVAG8Gj4OzdE1nLx8JXebJiiUO3P6JFIQ1WJ5bkDlGw2F5jpK5QMSEN0UzaBYV4AkLwKKwbFTN-I8Or6kXjyTrAF2KgzZy_tkghSAjrGvM1oPUIUaL1NnnHrhl6rOz4afaYKQoLUDn6xqPW1K4cOweW-EBE8DeLvdxqE_uM7XcdSvFTqIurg6ydgNZowdArrH1KKCx1G8WfosJExW6pj-3azyvqNs5qtMN1XjtvZV1C997G_QoOG_MKDA-xhrH-ND02lw"
}
2J��g
Access Token Len:131:ya29.Glz_BN4dxcGEVMLnlnzD5VYs7DVOB7lP-b6zyV82zf7ALQja6Jb9utxgz7B62LNMFd29C-WNshwoU6molbD66Cr-jN466pKPJu8TVB9OroGQD8_Q_O3bTR-XnPm7zg

Sending oauth2 Resource Request with Auth Hdr:Authorization: Bearer ya29.Glz_BN4dxcGEVMLnlnzD5VYs7DVOB7lP-b6zyV82zf7ALQja6Jb9utxgz7B62LNMFd29C-WNshwoU6molbD66Cr-jN466pKPJu8TVB9OroGQD8_Q_O3bTR-XnPm7zg
Resource Response: {
 "id": "101605605917347842452",
 "email": "aseemsethi70@gmail.com",
 "verified_email": true,
 "name": "aseem sethi",
 "given_name": "aseem",
 "family_name": "sethi",
 "link": "https://plus.google.com/101605605917347842452",
 "picture": "https://lh4.googleusercontent.com/-QfvMhNsei1w/AAAAAAAAAAI/AAAAAAAAAAA/L-lUGpurJi0/photo.jpg",
 "gender": "male"
}
sm
======================================
If we use the Auth token more than once, it works if it is done quickly enough, in 1-2 sec. Else, it gives the following error on reuse - 

 Making an Access Token request: grant_type=authorization_code&client_id=681355735342-echlhpgf36phisuk13kcosd4em5q4ois.apps.googleusercontent.com&client_secret=xxxx&code=4/zKNpjbh3wOa4piREvzoYoe1jUH8Jga0rh5ckKAIg5DQ#&redirect_uri=http://localhost/oauth2callback
{
 "error": "invalid_grant",
 "error_description": "Code was already redeemed."
}

About

Oauth2 Code in C

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published