<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2014-04-14 9:49 GMT-03:00 Michael Van Canneyt <span dir="ltr"><<a href="mailto:michael@freepascal.org" target="_blank">michael@freepascal.org</a>></span>:<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div class="">
On Mon, 14 Apr 2014, silvioprog wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Hello,<br>
Just a question, anyone here has implemented some code for OAuth 2.0? (FPC or Delphi)<br>
<br>
I implemented with 1.0 in my new TDropbox class, but now I'm trying to implement it with 2.0, because I'm needing to make an<br>
automatic authorization in a server side app.<br>
<br>
So, if you prefer no need to show me code, I'm just wondering if anyone has tried and already succeeded.<br>
</blockquote>
<br></div>
It is on my agenda. I was planning to add the OAuth 1.0 implementation of Reinier to fcl-web,<br>
then look at OAuth 2.0. I will be needing it myself.<span class=""><font color="#888888"><br>
<br>
Michael.</font></span></blockquote></div><div><br></div><div>Very nice. For 1.0 was easy, because I found a base code in PHP:<br></div><div><br></div><div><div>class function TDropboxOAuthUtil.GenerateAuthorizationContent(</div>

<div>  const AAppKey: string): string;</div><div>begin</div><div>  Result :=</div><div>    'oauth_consumer_key=' + AAppKey +</div><div>    '&oauth_nonce=' + GenerateNonce +</div><div>    '&oauth_signature_method=HMAC-SHA1' +</div>

<div>    '&oauth_timestamp=' + GenerateTimeStamp +</div><div>    '&oauth_version=1.0';</div><div>end;</div><div><br></div><div>class function TDropboxOAuthUtil.GenerateAuthorizationUrl(const AAppKey,</div>

<div>  AAppSecret: string): string;</div><div>var</div><div>  VSignature: string;</div><div>begin</div><div>  Result := GenerateAuthorizationContent(AAppKey);</div><div>  VSignature := 'POST&' + EncodeUrl(API_URL + '/oauth/request_token') + '&' +</div>

<div>    EncodeUrl(Result);</div><div>  Result := API_URL + '/oauth/request_token?' + Result;</div><div>  VSignature := EncodeBase64(HMAC_SHA1(VSignature, AAppSecret + '&'));</div><div>  Result := Result + '&oauth_signature=' + EncodeUrl(VSignature);</div>

<div>end;</div></div><div><br></div><div>Now I'm trying with 2.0, if it work, I'll send you all my drafts.</div><div><br></div>-- <br>Silvio Clécio<br>My public projects - <a href="http://github.com/silvioprog" target="_blank">github.com/silvioprog</a>
</div></div>