Proxy token check through server

This commit is contained in:
JonnyWong16 2022-01-05 11:17:35 -08:00
parent c39f89356c
commit d943877e76
No known key found for this signature in database
GPG key ID: 7A649674469E6574
3 changed files with 12 additions and 6 deletions

View file

@ -2737,12 +2737,8 @@ $(document).ready(function() {
}); });
$.ajax({ $.ajax({
url: "https://plex.tv/api/resources", url: "check_pms_token",
type: 'GET', type: 'GET',
dataType: 'json',
beforeSend: function (xhr) {
xhr.setRequestHeader('X-Plex-Token', $('#pms_token').val());
},
statusCode: { statusCode: {
401: function (xhr, status) { 401: function (xhr, status) {
$("#updatebar").hide(); $("#updatebar").hide();

View file

@ -277,13 +277,14 @@ class PlexTV(object):
return request return request
def get_plextv_resources(self, include_https=False, output_format=''): def get_plextv_resources(self, include_https=False, return_response=False, output_format=''):
if include_https: if include_https:
uri = '/api/resources?includeHttps=1' uri = '/api/resources?includeHttps=1'
else: else:
uri = '/api/resources' uri = '/api/resources'
request = self.request_handler.make_request(uri=uri, request = self.request_handler.make_request(uri=uri,
request_type='GET', request_type='GET',
return_response=return_response,
output_format=output_format) output_format=output_format)
return request return request

View file

@ -3414,6 +3414,15 @@ class WebInterface(object):
return {'result': 'success', 'message': 'Settings saved.'} return {'result': 'success', 'message': 'Settings saved.'}
@cherrypy.expose
@cherrypy.tools.json_out()
@requireAuth(member_of("admin"))
def check_pms_token(self, **kwargs):
plex_tv = plextv.PlexTV()
response = plex_tv.get_plextv_resources(return_response=True)
if not response.ok:
cherrypy.response.status = 401
@cherrypy.expose @cherrypy.expose
@cherrypy.tools.json_out() @cherrypy.tools.json_out()
@requireAuth(member_of("admin")) @requireAuth(member_of("admin"))