summaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
Diffstat (limited to 'src/client')
-rw-r--r--src/client/mios.ts7
-rw-r--r--src/client/pages/my-settings/integration.vue7
-rw-r--r--src/client/store.ts1
3 files changed, 10 insertions, 5 deletions
diff --git a/src/client/mios.ts b/src/client/mios.ts
index c2ba8ac5cd..aa2b202abd 100644
--- a/src/client/mios.ts
+++ b/src/client/mios.ts
@@ -123,7 +123,12 @@ export default class MiOS extends EventEmitter {
});
} else {
// Get token from localStorage
- const i = localStorage.getItem('i');
+ let i = localStorage.getItem('i');
+
+ // 連携ログインの場合用にCookieを参照する
+ if (i == null || i === 'null') {
+ i = (document.cookie.match(/igi=(\w+)/) || [null, null])[1];
+ }
fetchme(i, me => {
if (me) {
diff --git a/src/client/pages/my-settings/integration.vue b/src/client/pages/my-settings/integration.vue
index 742d432018..3dd7783f12 100644
--- a/src/client/pages/my-settings/integration.vue
+++ b/src/client/pages/my-settings/integration.vue
@@ -70,11 +70,10 @@ export default Vue.extend({
},
mounted() {
- if (!document.cookie.match(/i=(\w+)/)) {
- document.cookie = `i=${this.$store.state.i.token}; path=/;` +
- ` domain=${document.location.hostname}; max-age=31536000;` +
+ document.cookie = `igi=${this.$store.state.i.token}; path=/;` +
+ ` max-age=31536000;` +
(document.location.protocol.startsWith('https') ? ' secure' : '');
- }
+
this.$watch('integrations', () => {
if (this.integrations.twitter) {
if (this.twitterForm) this.twitterForm.close();
diff --git a/src/client/store.ts b/src/client/store.ts
index 3064cfdec7..8ded1ba00d 100644
--- a/src/client/store.ts
+++ b/src/client/store.ts
@@ -101,6 +101,7 @@ export default (os: MiOS) => new Vuex.Store({
ctx.commit('settings/init', {});
ctx.commit('deviceUser/init', {});
localStorage.removeItem('i');
+ document.cookie = `igi=; path=/`;
},
async switchAccount(ctx, i) {