質問編集履歴

1

2016/02/13 15:05

投稿

atsupoooon
atsupoooon

スコア47

test CHANGED
@@ -1 +1 @@
1
- opauthでbeforeFilterを設定して認証確認とログインリダイレクトができないです。
1
+ opauthでログイン状態を保持
test CHANGED
@@ -1,145 +1,27 @@
1
- cakephp 2.6
1
+ Cakephp 2.6
2
-
3
- opauth設定は完了しました。
4
-
5
- 下記のサイトを参考に実施しました。
6
-
7
- http://orekaihatsulog.hateblo.jp/entry/2014/03/20/232733
8
2
 
9
3
 
10
4
 
11
- 実装したい内容としては、
12
-
13
- ⑴ AppControllerでbeforeFilterでログインしでも閲覧可能ページ設定
5
+ opauthを利用して、ログイン状態を保持たいのがどよようにすれば良いのでしょうか。
14
-
15
- ⑵'index','login','logout'以外のページの時に
16
-
17
- ログインページへリダイレクト
18
6
 
19
7
 
20
8
 
21
- ```php
9
+ access_tokenを取得して、
22
10
 
23
- class AppController extends Controller {
11
+ Appcontroller
12
+
13
+ access_tokenの有無を判定して、
14
+
15
+ なければログインページへリダイレクト。
16
+
17
+ みたいな感じでしょうか。
24
18
 
25
19
 
26
20
 
27
- public $components = array('Auth');
21
+ Sessionとかも使うのでしょうか。
28
22
 
29
23
 
30
24
 
31
- public function beforeFilter() {
25
+ イメージからつかめていません。
32
26
 
33
- parent::beforeFilter();
34
-
35
- // ユーザー自身による登録とログアウトを許可する
36
-
37
- $this->Auth->allow('index','login','logout');
38
-
39
- }
40
-
41
- ```
42
-
43
-
44
-
45
- これはできました。
46
-
47
-
48
-
49
-
50
-
51
-
52
-
53
- ⑶リダイレクト先のログインページ(login.ctp)からログインしたら、
54
-
55
- ログイン後のリダイレクトページへ
56
-
57
-
58
-
59
- login.ctp
60
-
61
- ```php
62
-
63
- <?php echo $this->Html->image('fb_03.png',
64
-
65
- array('url'=>array(
66
-
67
- 'controller'=>'auth',
68
-
69
- 'action'=>'facebook'
70
-
71
- )
72
-
73
- )
74
-
75
- );?>
76
-
77
- <?php echo $this->Html->image('tw_03.png',
78
-
79
- array('url'=>array(
80
-
81
- 'controller'=>'auth',
82
-
83
- 'action'=>'twitter'
84
-
85
- )
86
-
87
- )
88
-
89
- );?>
90
-
91
- ```
92
-
93
-
94
-
95
-
96
-
97
- 認証後のリダイレクトページ設定(route.php)
98
-
99
- ```php
100
-
101
- /*opauth認証後のリダイレクトページ*/
102
-
103
- Router::connect(
104
-
105
- '/opauth-complete/*',
106
-
107
- array('controller' => 'users', 'action' => 'opauthComplete')
108
-
109
- );
110
-
111
- ```
112
-
113
-
114
-
115
- リダイレクトページ(opauth_Complete.ctp)
116
-
117
- ```php
118
-
119
- <p>ログイン確認</p>
120
-
121
- <?php echo $userdata['auth']['info']['name'];?>
122
-
123
- ```
124
-
125
-
126
-
127
- 流れとしては以上になります。
128
-
129
-
130
-
131
- しかし、ログインページ(login.ctp)からログインしたら、opauthComplete.ctpの表示がされません。
132
-
133
- beforeFilterの記述がおかしいと思います。
134
-
135
- 認証しているかしてないかのログイン判定を記述しないと思いますが、
136
-
137
- どのように記述すればよいかわかりません。
138
-
139
-
140
-
141
-
142
-
143
- 教えいただきたいと思います。
27
+ 教えて頂けますでしょうか
144
-
145
- 宜しくお願い致します。