diff --git a/data/interfaces/default/settings.html b/data/interfaces/default/settings.html
index 25fa25ba..9e1c4bc8 100644
--- a/data/interfaces/default/settings.html
+++ b/data/interfaces/default/settings.html
@@ -2294,7 +2294,9 @@ $(document).ready(function() {
const code = data.code;
var keep_polling = true;
- window.open('https://app.plex.tv/auth/#!?clientID=' + x_plex_headers['X-Plex-Client-Identifier'] + '&code=' + code);
+ var plex_oauth_window = PopupCenter(
+ 'https://app.plex.tv/auth/#!?clientID=' + x_plex_headers['X-Plex-Client-Identifier'] + '&code=' + code,
+ 'Plex-OAuth', 600, 700);
(function poll() {
polling = setTimeout(function () {
@@ -2306,6 +2308,9 @@ $(document).ready(function() {
if (data.authToken){
var authToken = data.authToken;
keep_polling = false;
+ if (plex_oauth_window) {
+ plex_oauth_window.close();
+ }
$("#pms_token").val(authToken);
$("#pms_uuid").val(x_plex_headers['X-Plex-Client-Identifier']);
$("#token_verify").html('').fadeIn('fast');
diff --git a/data/interfaces/default/welcome.html b/data/interfaces/default/welcome.html
index 67b753d3..4e9059be 100644
--- a/data/interfaces/default/welcome.html
+++ b/data/interfaces/default/welcome.html
@@ -507,7 +507,9 @@ $(document).ready(function() {
const code = data.code;
var keep_polling = true;
- window.open('https://app.plex.tv/auth/#!?clientID=' + x_plex_headers['X-Plex-Client-Identifier'] + '&code=' + code);
+ var plex_oauth_window = PopupCenter(
+ 'https://app.plex.tv/auth/#!?clientID=' + x_plex_headers['X-Plex-Client-Identifier'] + '&code=' + code,
+ 'Plex-OAuth', 600, 700);
(function poll() {
polling = setTimeout(function () {
@@ -519,6 +521,9 @@ $(document).ready(function() {
if (data.authToken){
var authToken = data.authToken;
keep_polling = false;
+ if (plex_oauth_window) {
+ plex_oauth_window.close();
+ }
$("#pms_token").val(authToken);
$("#pms-token-status").html(' Authentication successful.').fadeIn('fast');
authenticated = true;