Initial cleanup of the codebase

Change-Id: Idbc92ea3c2d7ee4d4807d1d83ceee9a299b9a9f7
diff --git a/service/flask_oauth2.py b/service/flask_oauth2.py
new file mode 100644
index 0000000..8495bfb
--- /dev/null
+++ b/service/flask_oauth2.py
@@ -0,0 +1,65 @@
+import config
+
+__author__ = 'hanl'
+
+from flask import Flask, redirect, url_for, session, request, jsonify
+from flask_oauthlib.client import OAuth
+
+app = Flask(__name__)
+app.debug = True
+app.secret_key = 'development'
+oauth = OAuth(app)
+korap = oauth.remote_app(
+    'korap',
+    consumer_key=config.OAUTH2_CLIENT_ID,
+    consumer_secret=config.OAUTH2_CLIENT_SECRET,
+    request_token_params={},
+    base_url='https://localhost:8443/api/v0.1',
+    request_token_url=None,
+    access_token_method='POST',
+    access_token_url='https://localhost:8443/api/v0.1/oauth2/token',
+    # should be a website of this flask application
+    authorize_url='https://localhost:8443/api/v0.1/oauth2/authorize',
+)
+
+
+@app.route('/')
+def index():
+    if 'dropbox_token' in session:
+        me = korap.get('user/info')
+        return jsonify(me.data)
+    return redirect(url_for('login'))
+
+
+@app.route('/login')
+def login():
+    return korap.authorize(callback=url_for('authorized', _external=True))
+
+
+@app.route('/logout')
+def logout():
+    session.pop('korap_token', None)
+    return redirect(url_for('index'))
+
+
+@app.route('/login/authorized')
+def authorized():
+    resp = korap.authorized_response()
+    if resp is None:
+        return 'Access denied: reason=%s error=%s' % (
+        request.args['error'],
+        request.args['error_description']
+    )
+    session['korap_token'] = (resp['access_token'], '')
+    me = korap.get('user/info')
+    return jsonify(me.data)
+
+
+@korap.tokengetter
+def get_korap_oauth_token():
+    return session.get('korap_token')
+
+
+
+if __name__ == '__main__':
+    app.run()
\ No newline at end of file