Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <cfset consumerKey = "dj0yJmk9SFNyUFZmSTJ0NUl3JmQ9WVdrOWRsVjBjV0pRTldjbWNHbzlOVGsyTWpBeU5qWXkmcz1jb25zdW1lcnNlY3JldCZ4PWFm" />
- <cfset consumerSecret = "2d270eb83117b19223d76ecbf209f1130ad8fce8" />
- <cfset epochTimestamp = DateDiff("s", "January 1 1970 00:00", now()) />
- <cfset randomString = replace(createUUID(),"-","","all") />
- <cfoutput>#consumerSecret#&#session.oauth_token_secret#%26</cfoutput>
- <cfset tempURL = "https://api.login.yahoo.com/oauth/v2/get_token?" />
- <cfset tempURL = tempURL & "oauth_consumer_key=#consumerKey#" />
- <cfset tempURL = tempURL & "&oauth_signature_method=PLAINTEXT" />
- <cfset tempURL = tempURL & "&oauth_nonce=#randomString#" />
- <cfset tempURL = tempURL & "&oauth_signature=#consumerSecret#%26#session.oauth_token_secret#" />
- <cfset tempURL = tempURL & "&oauth_timestamp=#epochTimestamp#" />
- <cfset tempURL = tempURL & "&oauth_verifier=#url.oauth_verifier#" />
- <cfset tempURL = tempURL & "&oauth_version=1.0" />
- <cfset tempURL = tempURL & "&oauth_token=#url.oauth_token#" />
- <cfhttp method="get" url="#tempURL#" result="accessTokenRequest" />
- <cfdump var="#accessTokenRequest#">
- <cfoutput>#accessTokenRequest.filecontent#</cfoutput>
- <cfset response = queryStringToStruct(accessTokenRequest.filecontent) />
- <cfdump var="#response#" label="response">
- <hr>
- <cfset epochTimestamp2 = DateDiff("s", "January 1 1970 00:00", now()) />
- <!--- try %26 if & fails --->
- <cfset tempURL = tempURL & "http://social.yahooapis.com/v1/user/#response.xoauth_yahoo_guid#/contacts?">
- <cfset tempURL = tempURL & "oauth_consumer_key=#consumerKey#" />
- <cfset tempURL = tempURL & "&oauth_signature_method=HMAC-SHA1" />
- <cfset tempURL = tempURL & "&oauth_nonce=#randomString#" />
- <cfset tempURL = tempURL & "&oauth_timestamp=#epochTimestamp2#" />
- <cfset tempURL = tempURL & "&oauth_token=#response.oauth_token#" />
- <cfset tempURL = tempURL & "&oauth_version=1.0" />
- <cfset tempURL = tempURL & "&xoauth_lang_pref=en-us" />
- <cfset signMessage = "GET&" & URLEncodedFormat(tempurl) />
- <cfdump var="#signMessage#">
- <cfset signkey = "#consumerSecret#%26#session.oauth_token_secret#" />
- <cfset oauthsig = URLEncodedFormat(hmacEncrypt(signkey,signmessage)) />
- <cfdump var="#oauthsig#">
- <HR><HR>
- <cfset tempURL = "http://social.yahooapis.com/v1/user/#response.xoauth_yahoo_guid#/contacts" /> <!--- ?format=json --->
- <!--- <cfset tempURL = tempURL & "realm=yahooapis.com" /> --->
- <cfset tempURL = tempURL & "oauth_consumer_key=#consumerKey#" />
- <cfset tempURL = tempURL & "&oauth_signature_method=HMAC-SHA1" />
- <cfset tempURL = tempURL & "&oauth_nonce=#randomString#" />
- <cfset tempURL = tempURL & "&oauth_timestamp=#epochTimestamp2#" />
- <cfset tempURL = tempURL & "&oauth_token=#response.oauth_token#" />
- <cfset tempURL = tempURL & "&oauth_version=1.0" />
- <cfset tempURL = tempURL & "&oauth_signature=#oauthsig#" />
- <cfset tempURL = tempURL & "&xoauth_lang_pref=en-us" />
- <cfset tempURL = tempURL & "&oauth_signature=#consumerSecret#%26#session.oauth_token_secret#" />
- <cfdump var="#tempURL#">
- <cfhttp method="get" url="#tempURL#" result="getContacts" />
- <cfdump var="#getContacts#">
- <cffunction name="hmacEncrypt" returntype="string" access="public">
- <cfargument name="signKey" type="string" required="true">
- <cfargument name="signMessage" type="string" required="true">
- <cfargument name="sFormat" type="string" required="false" default="iso-8859-1">
- <cfset var jMsg = JavaCast("string", arguments.signMessage).getBytes(arguments.sFormat)>
- <cfset var jKey = JavaCast("string", arguments.signKey).getBytes(arguments.sFormat)>
- <cfset var key = createObject("java", "javax.crypto.spec.SecretKeySpec")>
- <cfset var mac = createObject("java", "javax.crypto.Mac")>
- <cfset key = key.init(jKey,"HmacSHA1")>
- <cfset mac = mac.getInstance(key.getAlgorithm())>
- <cfset mac.init(key)>
- <cfset mac.update(jMsg)>
- <cfreturn ToBase64(mac.doFinal())>
- </cffunction>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement