ホーム > 開発者情報 > 通信仕様 > サービス接続要求
通信仕様
5. サービス接続要求

ログインユーザはステップ4で取得した②へアクセスし、ユグドアスカイゲートサーバはログイン処理と結果の送信を行います。

ログイン処理が正常ならば、②の中に含まれる①の@YSI@キーワードを認証先のURLで置換しようとします。

http://www.service.com/login/?%40ysg=%40YSI%40 … ①
今回の例の場合、以下のようなアドレスになります。
http://www.service.com/login/?ysg=https://www.yskygate.com/auth/
さらにサービス提供者にログインユーザの情報を本人確認用に返してもらうようにサービス提供者に
依頼するようにURLを作成していきます。
http://www.service.com/login/?ysg=https://www.yskygate.com/auth/?@cip=@YCIP@&@ca=@YCUA@&wn=@YWN@
サービス提供者はこのアドレスを受け取ったとき、以下のように変換してアクセスする必要があります。

@YCIP@ => ログインユーザのIPアドレス
@YCUA@ => ログインユーザのユーザエージェント(ブラウザ情報)
@YWN@ => ワールド(省略可)

ワールドとは集合体のことを言います。例えばあなたがservice.com上でbbs.service.comとchat.service.comという伝言板とチャットの2つのサービスを提供しているとしましょう。
通常、ドメインやサービス提供者のIPアドレスが異なるとユーザIDは違うものをユグドアスカイゲートサーバは返しますが、トップレベルのドメイン名をワールド名に設定すれば共有することができます。

この場合だとcomレベルで共有するためのcom、service.comレベルのservice.com、bbs.service.com, chat.service.comをワールド名に設定できます。これ以外は設定できません。
http://www.service.com/login/?ysg=https://www.yskygate.com/auth/?@cip=@YCIP@&@ca=@YCUA@&wn=@YWN@&rnd=12345678901234567890
さらにランダムの数字を付加し、セキュリティを多少なりとも向上させ、このURLにログインユーザを誘導します。

最後にysg部分をURLエンコードを行います。
http://www.service.com/login/?ysg=http%3a%2f%2fwww%2eyskygate%2ecom%2fauth%2f%3f%0d%0a%40cip%3d%40YCIP%40%26%40ca%3d%40YCUA%40%26wn%3d%40YWN%40%26rnd%3d12345678901234567890 … ③
この場合、http://www.service.com/login/にログインユーザを誘導します。
(データはGET形式ではなく、POST形式で送信されます。)

同時にユグドアスカイゲートサーバは、ログインユーザのIPアドレスやユーザエージェント、 ランダムの数字を記憶し、5分以内(実際はサーバによって異なります)に1回だけwww.service.com(ユグドアスカイゲートURLのホスト名)からこのアドレスにアクセスを許可します。
1 2 3 4 5 6 7