Move facebook token to own script
To a PHP script actually. Not sure why PHP. Keeps morss' code cleaner. This piece of code had nothing to do in there, and didn't bring any advantage.master
parent
a9654ea578
commit
105ca67744
|
@ -46,10 +46,6 @@ MIMETYPE = {
|
|||
'xml': ['text/xml', 'application/xml', 'application/rss+xml', 'application/rdf+xml', 'application/atom+xml'],
|
||||
'html': ['text/html', 'application/xhtml+xml', 'application/xml']}
|
||||
|
||||
FBAPPID = "<insert yours>"
|
||||
FBSECRET = "<insert yours>"
|
||||
FBAPPTOKEN = FBAPPID + '|' + FBSECRET
|
||||
|
||||
PROTOCOL = ['http', 'https', 'ftp']
|
||||
|
||||
if 'SCRIPT_NAME' in os.environ:
|
||||
|
@ -673,7 +669,7 @@ def cgi_app(environ, start_response):
|
|||
|
||||
if 'HTTP_IF_NONE_MATCH' in environ:
|
||||
options['last'] = int(environ['HTTP_IF_NONE_MATCH'][1:-1])
|
||||
if not options.force and not options.facebook and time.time() - options.last < DELAY:
|
||||
if not options.force and time.time() - options.last < DELAY:
|
||||
headers['status'] = '304 Not Modified'
|
||||
start_response(headers['status'], headers.items())
|
||||
log(url)
|
||||
|
@ -703,11 +699,6 @@ def cgi_app(environ, start_response):
|
|||
|
||||
url, cache = Init(url, os.getcwd() + '/cache', options)
|
||||
|
||||
if options.facebook:
|
||||
do_facebook(url, environ, headers, options, cache)
|
||||
start_response(headers['status'], headers.items())
|
||||
return
|
||||
|
||||
# get the work done
|
||||
rss = Fetch(url, cache, options)
|
||||
|
||||
|
@ -786,36 +777,6 @@ def cli_app():
|
|||
log('done')
|
||||
|
||||
|
||||
def do_facebook(url, environ, headers, options, cache):
|
||||
log('fb stuff')
|
||||
|
||||
query = urlparse.urlparse(url).query
|
||||
|
||||
if 'code' in query:
|
||||
# get real token from code
|
||||
code = urlparse.parse_qs(query)['code'][0]
|
||||
eurl = "https://graph.facebook.com/oauth/access_token?client_id={app_id}&redirect_uri={redirect_uri}&client_secret={app_secret}&code={code_parameter}".format(
|
||||
app_id=FBAPPID, app_secret=FBSECRET, code_parameter=code, redirect_uri=environ['SCRIPT_URI'])
|
||||
token = urlparse.parse_qs(urllib2.urlopen(eurl).read().strip())['access_token'][0]
|
||||
|
||||
# get long-lived access token
|
||||
eurl = "https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id={app_id}&client_secret={app_secret}&fb_exchange_token={short_lived_token}".format(
|
||||
app_id=FBAPPID, app_secret=FBSECRET, short_lived_token=token)
|
||||
values = urlparse.parse_qs(urllib2.urlopen(eurl).read().strip())
|
||||
|
||||
ltoken = values['access_token'][0]
|
||||
expires = int(time.time() + int(values['expires'][0]))
|
||||
|
||||
headers['set-cookie'] = 'token={token}; Path=/'.format(token=ltoken)
|
||||
|
||||
# headers
|
||||
headers['status'] = '303 See Other'
|
||||
headers['location'] = 'http://{domain}/'.format(domain=environ['SERVER_NAME'])
|
||||
|
||||
log('fb done')
|
||||
return
|
||||
|
||||
|
||||
def main():
|
||||
if 'REQUEST_URI' in os.environ:
|
||||
wsgiref.handlers.CGIHandler().run(cgi_wrapper)
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
|
||||
define('FBAPPID', "<insert yours>");
|
||||
define('FBSECRET', "<insert yours>");
|
||||
define('FBAPPTOKEN', FBAPPID . '|' . FBSECRET);
|
||||
|
||||
if (isset($_GET['code']))
|
||||
{
|
||||
# get real token from code
|
||||
$code = $_GET['code'];
|
||||
$eurl = sprintf("https://graph.facebook.com/oauth/access_token?client_id=%s&redirect_uri=%s&client_secret=%s&code=%s",
|
||||
FBAPPID, $_SERVER['SCRIPT_URI'], FBSECRET, $code);
|
||||
parse_str(file_get_contents($eurl), $values);
|
||||
$token = $values['access_token'];
|
||||
|
||||
# get long-lived access token
|
||||
$eurl = sprintf("https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id=%s&client_secret=%s&fb_exchange_token=%s",
|
||||
FBAPPID, FBSECRET, $token);
|
||||
parse_str(file_get_contents($eurl), $values);
|
||||
$ltoken = $values['access_token'];
|
||||
|
||||
setcookie('token', $ltoken, 0, '/');
|
||||
|
||||
# headers
|
||||
header('status: 303 See Other');
|
||||
header('location: http://' . $_SERVER['SERVER_NAME'] . '/');
|
||||
}
|
Loading…
Reference in New Issue