Get apikey with username and password. closes #142
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
from couchpotato.api import api_docs, api_docs_missing
|
from couchpotato.api import api_docs, api_docs_missing
|
||||||
from couchpotato.core.auth import requires_auth
|
from couchpotato.core.auth import requires_auth
|
||||||
from couchpotato.core.event import fireEvent
|
from couchpotato.core.event import fireEvent
|
||||||
|
from couchpotato.core.helpers.request import getParams, jsonified
|
||||||
|
from couchpotato.core.helpers.variable import md5
|
||||||
from couchpotato.core.logger import CPLog
|
from couchpotato.core.logger import CPLog
|
||||||
from couchpotato.environment import Env
|
from couchpotato.environment import Env
|
||||||
from flask.app import Flask
|
from flask.app import Flask
|
||||||
@@ -51,6 +53,22 @@ def apiDocs():
|
|||||||
del api_docs_missing['']
|
del api_docs_missing['']
|
||||||
return render_template('api.html', fireEvent = fireEvent, routes = sorted(routes), api_docs = api_docs, api_docs_missing = sorted(api_docs_missing))
|
return render_template('api.html', fireEvent = fireEvent, routes = sorted(routes), api_docs = api_docs, api_docs_missing = sorted(api_docs_missing))
|
||||||
|
|
||||||
|
@web.route('getkey/')
|
||||||
|
def getApiKey():
|
||||||
|
|
||||||
|
api = None
|
||||||
|
params = getParams()
|
||||||
|
username = Env.setting('username')
|
||||||
|
password = Env.setting('password')
|
||||||
|
|
||||||
|
if (params.get('u') == md5(username) or not username) and (params.get('p') == password or not password):
|
||||||
|
api = Env.setting('api_key')
|
||||||
|
|
||||||
|
return jsonified({
|
||||||
|
'success': api is not None,
|
||||||
|
'api_key': api
|
||||||
|
})
|
||||||
|
|
||||||
@app.errorhandler(404)
|
@app.errorhandler(404)
|
||||||
def page_not_found(error):
|
def page_not_found(error):
|
||||||
index_url = url_for('web.index')
|
index_url = url_for('web.index')
|
||||||
|
|||||||
@@ -18,6 +18,12 @@
|
|||||||
<br />
|
<br />
|
||||||
You can also use the API over another domain using JSONP, the callback function should be in 'callback_func'
|
You can also use the API over another domain using JSONP, the callback function should be in 'callback_func'
|
||||||
<pre><a href="{{ fireEvent('app.api_url', single = True)|safe }}/updater.info/?callback_func=myfunction">{{ fireEvent('app.api_url', single = True)|safe }}/updater.info/?callback_func=myfunction</a></pre>
|
<pre><a href="{{ fireEvent('app.api_url', single = True)|safe }}/updater.info/?callback_func=myfunction">{{ fireEvent('app.api_url', single = True)|safe }}/updater.info/?callback_func=myfunction</a></pre>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
Get the API key:
|
||||||
|
<pre><a href="/getkey/?p=md5(password)&u=md5(username)">/getkey/?p=md5(password)&u=md5(username)</a></pre>
|
||||||
|
Will return {"api_key": "XXXXXXXXXX", "success": true}. When username or password is empty you don't need to md5 it.
|
||||||
|
<br />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% for route in routes %}
|
{% for route in routes %}
|
||||||
|
|||||||
Reference in New Issue
Block a user