mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-04-13 20:03:51 +02:00
Move savedCredentials to userId
This commit is contained in:
@@ -469,6 +469,7 @@ namespace VRCX
|
||||
// 2021.04.06 11:25:45 Log - [Network Processing] RPC invoked ConfigurePortal on (Clone [1600004] Portals/PortalInternalDynamic) for Natsumi-sama
|
||||
// 2021.07.19 04:24:28 Log - [Behaviour] Will execute SendRPC/AlwaysBufferOne on (Clone [100004] Portals/PortalInternalDynamic) (UnityEngine.GameObject) for Natsumi-sama: S: "ConfigurePortal" I: 7 F: 0 B: 255 (local master owner)
|
||||
// 2022.07.29 18:40:37 Log - [Behaviour] Instantiated a (Clone [800004] Portals/PortalInternalDynamic)
|
||||
// 2023 - deadge
|
||||
|
||||
if (line.Contains("[Behaviour] Instantiated a (Clone [") && line.Contains("] Portals/PortalInternalDynamic)"))
|
||||
{
|
||||
|
||||
@@ -109,6 +109,8 @@ namespace VRCX
|
||||
|
||||
public string GetCookies()
|
||||
{
|
||||
_cookieDirty = true; // force cookies to be saved for lastUserLoggedIn
|
||||
|
||||
using (var memoryStream = new MemoryStream())
|
||||
{
|
||||
new BinaryFormatter().Serialize(memoryStream, _cookieContainer);
|
||||
@@ -122,6 +124,8 @@ namespace VRCX
|
||||
{
|
||||
_cookieContainer = (CookieContainer)new BinaryFormatter().Deserialize(stream);
|
||||
}
|
||||
|
||||
_cookieDirty = true; // force cookies to be saved for lastUserLoggedIn
|
||||
}
|
||||
|
||||
#pragma warning disable CS4014
|
||||
|
||||
@@ -4884,6 +4884,7 @@ speechSynthesis.getVoices();
|
||||
this.refreshCustomCss();
|
||||
this.refreshCustomScript();
|
||||
this.checkVRChatDebugLogging();
|
||||
this.migrateStoredUsers();
|
||||
this.$nextTick(function () {
|
||||
this.$el.style.display = '';
|
||||
if (
|
||||
@@ -6847,6 +6848,7 @@ speechSynthesis.getVoices();
|
||||
// eslint-disable-next-line require-atomic-updates
|
||||
$app.loginForm.lastUserLoggedIn = '';
|
||||
configRepository.remove('lastUserLoggedIn');
|
||||
workerTimers.setTimeout(() => location.reload(), 500);
|
||||
});
|
||||
|
||||
$app.methods.checkPrimaryPassword = function (args) {
|
||||
@@ -6899,20 +6901,22 @@ speechSynthesis.getVoices();
|
||||
}
|
||||
)
|
||||
.then(({value}) => {
|
||||
for (let name in this.loginForm.savedCredentials) {
|
||||
for (let userId in this.loginForm.savedCredentials) {
|
||||
security
|
||||
.decrypt(
|
||||
this.loginForm.savedCredentials[name]
|
||||
this.loginForm.savedCredentials[userId]
|
||||
.loginParmas.password,
|
||||
value
|
||||
)
|
||||
.then((pt) => {
|
||||
this.saveCredentials = {
|
||||
username: name,
|
||||
username:
|
||||
this.loginForm.savedCredentials[userId]
|
||||
.loginParmas.username,
|
||||
password: pt
|
||||
};
|
||||
this.updateStoredUser(
|
||||
this.loginForm.savedCredentials[name].user
|
||||
this.loginForm.savedCredentials[userId].user
|
||||
);
|
||||
configRepository.setBool(
|
||||
'enablePrimaryPassword',
|
||||
@@ -6942,17 +6946,22 @@ speechSynthesis.getVoices();
|
||||
this.enablePrimaryPasswordDialog.visible = false;
|
||||
if (this.enablePrimaryPassword) {
|
||||
let key = this.enablePrimaryPasswordDialog.password;
|
||||
for (let name in this.loginForm.savedCredentials) {
|
||||
for (let userId in this.loginForm.savedCredentials) {
|
||||
security
|
||||
.encrypt(
|
||||
this.loginForm.savedCredentials[name].loginParmas
|
||||
this.loginForm.savedCredentials[userId].loginParmas
|
||||
.password,
|
||||
key
|
||||
)
|
||||
.then((ct) => {
|
||||
this.saveCredentials = {username: name, password: ct};
|
||||
this.saveCredentials = {
|
||||
username:
|
||||
this.loginForm.savedCredentials[userId]
|
||||
.loginParmas.username,
|
||||
password: ct
|
||||
};
|
||||
this.updateStoredUser(
|
||||
this.loginForm.savedCredentials[name].user
|
||||
this.loginForm.savedCredentials[userId].user
|
||||
);
|
||||
});
|
||||
}
|
||||
@@ -6962,7 +6971,7 @@ speechSynthesis.getVoices();
|
||||
$app.methods.updateStoredUser = async function (currentUser) {
|
||||
var savedCredentials = {};
|
||||
if (configRepository.getString('savedCredentials') !== null) {
|
||||
var savedCredentials = JSON.parse(
|
||||
savedCredentials = JSON.parse(
|
||||
configRepository.getString('savedCredentials')
|
||||
);
|
||||
}
|
||||
@@ -6971,20 +6980,38 @@ speechSynthesis.getVoices();
|
||||
user: currentUser,
|
||||
loginParmas: this.saveCredentials
|
||||
};
|
||||
savedCredentials[currentUser.username] = credentialsToSave;
|
||||
savedCredentials[currentUser.id] = credentialsToSave;
|
||||
delete this.saveCredentials;
|
||||
} else if (
|
||||
typeof savedCredentials[currentUser.username] !== 'undefined'
|
||||
) {
|
||||
savedCredentials[currentUser.username].user = currentUser;
|
||||
savedCredentials[currentUser.username].cookies =
|
||||
} else if (typeof savedCredentials[currentUser.id] !== 'undefined') {
|
||||
savedCredentials[currentUser.id].user = currentUser;
|
||||
savedCredentials[currentUser.id].cookies =
|
||||
await webApiService.getCookies();
|
||||
}
|
||||
this.loginForm.savedCredentials = savedCredentials;
|
||||
var jsonCredentialsArray = JSON.stringify(savedCredentials);
|
||||
configRepository.setString('savedCredentials', jsonCredentialsArray);
|
||||
this.loginForm.lastUserLoggedIn = currentUser.username;
|
||||
configRepository.setString('lastUserLoggedIn', currentUser.username);
|
||||
this.loginForm.lastUserLoggedIn = currentUser.id;
|
||||
configRepository.setString('lastUserLoggedIn', currentUser.id);
|
||||
};
|
||||
|
||||
$app.methods.migrateStoredUsers = function () {
|
||||
var savedCredentials = {};
|
||||
if (configRepository.getString('savedCredentials') !== null) {
|
||||
savedCredentials = JSON.parse(
|
||||
configRepository.getString('savedCredentials')
|
||||
);
|
||||
}
|
||||
for (let name in savedCredentials) {
|
||||
var userId = savedCredentials[name]?.user?.id;
|
||||
if (userId && userId !== name) {
|
||||
savedCredentials[userId] = savedCredentials[name];
|
||||
delete savedCredentials[name];
|
||||
}
|
||||
}
|
||||
configRepository.setString(
|
||||
'savedCredentials',
|
||||
JSON.stringify(savedCredentials)
|
||||
);
|
||||
};
|
||||
|
||||
$app.methods.relogin = function (user) {
|
||||
@@ -7062,11 +7089,11 @@ speechSynthesis.getVoices();
|
||||
});
|
||||
};
|
||||
|
||||
$app.methods.deleteSavedLogin = function (username) {
|
||||
$app.methods.deleteSavedLogin = function (userId) {
|
||||
var savedCredentials = JSON.parse(
|
||||
configRepository.getString('savedCredentials')
|
||||
);
|
||||
delete savedCredentials[username];
|
||||
delete savedCredentials[userId];
|
||||
// Disable primary password when no account is available.
|
||||
if (Object.keys(savedCredentials).length === 0) {
|
||||
this.enablePrimaryPassword = false;
|
||||
|
||||
@@ -744,7 +744,7 @@ html
|
||||
el-table-column(:label="$t('table.friendLog.type')" prop="type" width="150")
|
||||
el-table-column(:label="$t('table.friendLog.user')" prop="displayName")
|
||||
template(v-once #default="scope")
|
||||
span(v-if="scope.row.type === 'DisplayName'") {{ scope.row.previousDisplayName }} #[i.el-icon-right]
|
||||
span(v-if="scope.row.type === 'DisplayName'") {{ scope.row.previousDisplayName }} #[i.el-icon-right]
|
||||
span.x-link(v-text="scope.row.displayName || scope.row.userId" @click="showUserDialog(scope.row.userId)")
|
||||
template(v-if="scope.row.type === 'TrustLevel'")
|
||||
span ({{ scope.row.previousTrustLevel }} #[i.el-icon-right] {{ scope.row.trustLevel }})
|
||||
@@ -1422,7 +1422,7 @@ html
|
||||
span.sub-header {{ $t('view.settings.advanced.advanced.primary_password.header') }}
|
||||
div.options-container-item
|
||||
span.name(style="min-width:300px") {{ $t('view.settings.advanced.advanced.primary_password.description') }}
|
||||
el-switch(v-model="enablePrimaryPassword" @change="enablePrimaryPasswordChange" :disabled="!loginForm.savedCredentials[API.currentUser.username]")
|
||||
el-switch(v-model="enablePrimaryPassword" @change="enablePrimaryPasswordChange" :disabled="!loginForm.savedCredentials[API.currentUser.id]")
|
||||
span.sub-header {{ $t('view.settings.advanced.advanced.relaunch_vrchat.header') }}
|
||||
div.options-container-item
|
||||
span.name(style="min-width:300px") {{ $t('view.settings.advanced.advanced.relaunch_vrchat.description') }}
|
||||
|
||||
Reference in New Issue
Block a user