質問編集履歴
4
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -132,7 +132,9 @@
|
|
132
132
|
|
133
133
|
|
134
134
|
|
135
|
+
プログラムの修正と言うよりかは、サーバー側の設定の修正が必要ではないかと言うことなのですが、
|
136
|
+
|
135
|
-
|
137
|
+
自分の経験が浅く何をどのように改修すれば修正に繋がるのかがわからず困っています。
|
136
138
|
|
137
139
|
|
138
140
|
|
3
誤字の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
###ログイン機能の実装方法
|
10
10
|
|
11
|
-
Rails側ではdevise + devise token authを用いてログイン機能を実
|
11
|
+
Rails側ではdevise + devise token authを用いてログイン機能を実装しており、React側からPOST API通信でユーザー情報を送信しています。
|
12
12
|
|
13
13
|
|
14
14
|
|
2
タグの変更
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|
1
ログイン機能の実装方法追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -3,6 +3,128 @@
|
|
3
3
|
|
4
4
|
|
5
5
|
これまで問題なく動いていたアプリのログイン周りの機能が、safariだけ機能しなくなり、safariユーザーがアプリに新規登録・ログインができなくなりました。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
###ログイン機能の実装方法
|
10
|
+
|
11
|
+
Rails側ではdevise + devise token authを用いてログイン機能を実行しており、React側かPOST API通信でユーザー情報を送信しています。
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
【React】
|
16
|
+
|
17
|
+
```JavaScript
|
18
|
+
|
19
|
+
const end_point = 'http://localhost:3001';
|
20
|
+
|
21
|
+
const agent = new https.Agent({
|
22
|
+
|
23
|
+
rejectUnauthorized: false,
|
24
|
+
|
25
|
+
});
|
26
|
+
|
27
|
+
let header = {
|
28
|
+
|
29
|
+
'Content-Type': 'application/json',
|
30
|
+
|
31
|
+
'Accept': 'application/json',
|
32
|
+
|
33
|
+
'access-token': ``,
|
34
|
+
|
35
|
+
'client': ``,
|
36
|
+
|
37
|
+
'uid': ``,
|
38
|
+
|
39
|
+
}
|
40
|
+
|
41
|
+
let myHttpClient = axios.create({
|
42
|
+
|
43
|
+
xhrFields: {
|
44
|
+
|
45
|
+
withCredentials: true,
|
46
|
+
|
47
|
+
},
|
48
|
+
|
49
|
+
httpsAgent : agent,
|
50
|
+
|
51
|
+
headers : header,
|
52
|
+
|
53
|
+
data : {},
|
54
|
+
|
55
|
+
});
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
// ログイン
|
60
|
+
|
61
|
+
export async function post_login_api(action, data) {
|
62
|
+
|
63
|
+
let postResponse = '';
|
64
|
+
|
65
|
+
try {
|
66
|
+
|
67
|
+
postResponse = await myHttpClient.post(end_point + action, data);
|
68
|
+
|
69
|
+
}
|
70
|
+
|
71
|
+
catch (error){
|
72
|
+
|
73
|
+
return "loginfalse";
|
74
|
+
|
75
|
+
}
|
76
|
+
|
77
|
+
return postResponse;
|
78
|
+
|
79
|
+
}
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
//ログインボタン押下時の処理
|
84
|
+
|
85
|
+
post_login_api('api/v1/auth/sign_in', loginData).then((result) => {
|
86
|
+
|
87
|
+
if (result == 'loginfalse') {
|
88
|
+
|
89
|
+
setLoading(false);
|
90
|
+
|
91
|
+
window.scrollTo(0, 0);
|
92
|
+
|
93
|
+
alert("メールアドレス・パスワードが正しくありません。");
|
94
|
+
|
95
|
+
return;
|
96
|
+
|
97
|
+
} else {
|
98
|
+
|
99
|
+
dispatch({
|
100
|
+
|
101
|
+
type: 'ADD_USERID',
|
102
|
+
|
103
|
+
value: result.data.data.id
|
104
|
+
|
105
|
+
});
|
106
|
+
|
107
|
+
dispatch({
|
108
|
+
|
109
|
+
type: 'ADD_USERHEADER',
|
110
|
+
|
111
|
+
access: result.headers["access-token"],
|
112
|
+
|
113
|
+
client: result.headers.client,
|
114
|
+
|
115
|
+
uid: result.headers.uid,
|
116
|
+
|
117
|
+
});
|
118
|
+
|
119
|
+
// TOP画面に遷移
|
120
|
+
|
121
|
+
dispatch(push('/top'))
|
122
|
+
|
123
|
+
}
|
124
|
+
|
125
|
+
})
|
126
|
+
|
127
|
+
```
|
6
128
|
|
7
129
|
|
8
130
|
|