バージョン選択

フォーラム

メニュー

オンライン状況

46 人のユーザが現在オンラインです。 (41 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 46
もっと...

サイト内検索

質問 > その他 > WebAPIでのセッション書き換え

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
mackey
投稿日時: 2018/11/30 11:06
対応状況: −−−
新米
登録日: 2018/8/22
居住地:
投稿: 4
WebAPIでのセッション書き換え
[EC-CUBE] 3.0.15新規インストール
[レンタルサーバ] AWS EC2
[OS] Amazon Linux
[PHP] 5.4.16
[データベース] AWS RDS
[現象]
集中購買システムとの連携を作成しています。
現在自動ログインからEC-CUBE画面にリダイレクトされる部分を作成していますが、ログイン状態にならず困っています。
手順は以下の通りです。
1. 相手システムからログイン情報が送られる
2. EC-CUBEで認証してログイン状態にする
3. 正常にログインできたら、連携ページのURLを返す
4. 相手システムが、連携ページのURLにリダイレクトさせる

ログインAPIでのログインは正常に完了します。
curlを使ってcookie情報を保存し、その値を使ってcurlで接続するとログイン済みのhtmlが戻ってくることは確認しました。
相手からcookieがこないことがログイン状態にならない原因ではないかと考えています。
そこで、cookieが戻すべきsession idをURLに埋めるなどして戻してもらい、そのsession idを使うようにしたいのですが、方法がわかりません。

上記実現方法、あるいは他の方法でも、連携ができる方法をご教示いただけないでしょうか
468
投稿日時: 2018/12/6 11:56
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: WebAPIでのセッション書き換え
curlでは想定通りの動きが行えたが、ブラウザだと上手く行かないという事でしょうか?

>4. 相手システムが、連携ページのURLにリダイレクトさせる
のリダイレクト先でログイン画面が表示されるという事ですか?
目的はログイン画面のアカウントとパスワードの入力の省略でしょうか?
既存のブラウザ(chromeやfirefox)で、cookieを書き換えて、その動きを実現するのはちょっと難しいような気がしますが...
(デベロッパーツールを利用して手動で通信を書き換えたり、
windowsアプリやスマホアプリのようにクライアントアプリを
ご自身で改修できるなら対応できると思いますが)

改修するのであれば、ECCUBE側にシングルサインオンのような機能を実装する必要があるように思います。

1.ECCUBE(連携ページURL)にリダイレクトさせる
2.ECCUBEのログイン処理にて、相手システムに通信
3.相手システムで認証→結果をECCUBEに返す
4.認証がOKならECCUBE(連携ページ)を表示する、NGならログイン画面を表示する(手動でのログインさせないのであれば、エラー画面の表示)

という流れになるのではないでしょうか?
前提としては、1.の前に相手システムに必ずログインしている(認証済み)必要がある事ではないかと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,288名です
総投稿数は109,688件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.