質問編集履歴

4

追記

2020/04/25 04:00

投稿

GenkiSugiyama
GenkiSugiyama

スコア86

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

誤字の修正

2020/04/25 04:00

投稿

GenkiSugiyama
GenkiSugiyama

スコア86

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  ###ログイン機能の実装方法
10
10
 
11
- Rails側ではdevise + devise token authを用いてログイン機能を実しており、React側かPOST API通信でユーザー情報を送信しています。
11
+ Rails側ではdevise + devise token authを用いてログイン機能を実しており、React側かPOST API通信でユーザー情報を送信しています。
12
12
 
13
13
 
14
14
 

2

タグの変更

2020/04/24 08:07

投稿

GenkiSugiyama
GenkiSugiyama

スコア86

test CHANGED
File without changes
test CHANGED
File without changes

1

ログイン機能の実装方法追加

2020/04/24 01:20

投稿

GenkiSugiyama
GenkiSugiyama

スコア86

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