Edited at

callbackURLとは


callbackURLとは

処理が終わった時とかに、このURLに遷移してのURL

だいたいは、

自分のサイト → 別のサイト → 自分のサイト

みたいな流れを作りたい時に使うもの。


もう少し詳しく…

例えば自分で『みんなにこにこ、ニコニコサイト』を立ち上げているとします。

最初はこのサイトに記事を沢山あげるだけだったので別に何も必要なかったのですが、

ある時思ったのです。

なんかわかんないけど『ヤッホーサイト』と連携したいと…。

スクリーンショット 2019-07-08 22.29.59.png

なので連携したいサイトの『ヤッホーサイト』の担当者にお願いしました。

『あの〇〇とか〇〇とかするとかしてヤッホーサイトとして連携させたいんですが…』

それを聞いて、『ヤッホーサイト』の担当者はこころよく『いいよ!』と言ってくれました。

この返事を聞いてやった〜〜と思いました。

じゃ、この処理の時にヤッホーサイトを表示しよ!!っと

……。この時ふと思いました。

あれ、この時の処理にヤッホーサイトを表示、そのあとは???

ヤッホーサイトを表示したら、そのあとは?どうやって自分のサイトに戻ってきてもらうの?

不安に思った私はヤッホーサイトの担当者さんに聞いてみました。

『あの〇〇の処理をした時に、ヤッホーサイトを表示するじゃないですか?このあと自分のサイトに戻ってきて欲しいのですが…。それってできますか?事前に口頭とか書面でヤッホーサイトのこの処理のあとは私のページAページを、この時はBページをってのを書いて送ればそのようにしてくれますか?』

ヤッホーサイトの担当者はそれを聞いてなんだそんなことか!と言わんばかりにこう答えました。

『そんなことしなくていいって。私のヤッホーサイトアクセスするURLにcallbackURLみたいのつけてくれれば処理終わった後にそのcallbackURLにアクセスするようにするから、欲しい値とかあればアクセスするURLの後ろになんかつけとくよ!!!』

……????!!!!!callbackURL????

チンプンカンプンな私にヤッホーサイトの担当者の方が具体的に教えてくれました。

例えば、君のあるページで私のサイトを表示するでしょ。その時にしてもらいたいこととかURLにつけるじゃん(。・ω・。)することが『sssの処理』ならこんな感じかな?

※記述 surukoto=sss ですることがsssの処理だとわかる

http://niconico.com → http://yaaaaaa.com?surukoto=sss

この時に戻して欲しいページのURLもくっつけてくれればそれみてそのページにまた遷移する(いく)よってことかな。(。・ω・。)こんな感じ

http://yaaaaaa.com?surukoto=sss&callbackURL=http://niconico.com/about

することのsssしたら、http://niconico.com/aboutに遷移。

http://yaaaaaa.com?surukoto=sss&callbackURL=http://niconico.com/

なら、

することのsssしたら、http://niconico.com/に遷移ってことになるね(✿´ ꒳ ` )

この時つける値あれば http://niconico.com/about?a=abcdesuみたいにするよ!!!

つける値ってのは、『この処理して!この値ちょうだい!お願いっ!』って言われた時の[この値]のことね!


もう少し、後もう少し詳しく。

もし自分のサイトにログイン機能がないけど、ログインしたいとか思ったとき、

ログインしているサイトに情報もらう的なことができるんだよね(。・ω・。)

ちょっと意味不明だよね。自分のところにはID、パスワード打つとこないわけなのね。

でもログインしたいわけ。

うん。言っている意味がわかんない。

よく何かのアプリ使っている時、ログインを他のアプリに任すようなアクションってない?

例えば、こんな感じ

普通のログイン

facebookでのログイン

twitterでのログイン

yahooでのログイン

facebookでのログインだと一回facebookの画面みたいの出るでしょ?

あれ、今使っているアプリ自体が表示しているんじゃなくて一回facebookのアプリ開いたり、webサイト開いたりして

『これやって〜』ってしてるの、そうすれば今使っているアプリにfacebookのパスとか知られないわけ。

だってfacebookでパスワード記入してるんだもん。

でも?あれ?じゃあどうやってログインするの?

ってなるじゃん。

ここで出てくるのが『トークン』ってものなんだよね。

ちなみに『トークン』ての長い自分にしか当てられていない文字列のこと。

例えば、

Aさん

Bさん

Cさん

みたいなユーザーさんがいたらみんな違った文字列。

こんな感じ

Aさん sasasa887dhshjssh…

Bさん sdkjgkjdkdjkfjdkas…

Cさん kdttjlkjfkl8sfslds…

話戻って、このトークンをfacebookに渡すとパスワードとかIDとか打たなくてもfacebookでログインしたということにしてくれるの。ある程度権限つけられているからできることに限りはあるけど…

難しいよね(/ω\)

とりあえずfacebookで作ったtokenがあれば別のアプリにfacebookでの自分の情報にアクセスできる権利を渡せるの(✿´ ꒳ ` )

たまに会員登録で色々打たないと登録できないやつあるでしょ?それをもう同じような情報があるサイトの情報使って登録したいんだ〜って時にfacebookでのログインとか使っているわけ。

だからアプリにこれらの情報が渡りますが大丈夫ですか?的な文章も出てくるのだけど、ちゃんと確認しているって思ったり…

話を戻して、っていうことでそうやってログインする時とか、一回別のサイトに遷移させないといけないの。

そして自分のところに戻って来てもらわないといけないの。

ただ、その自分のサイトに戻ってくるのをfacebookとかはどうやって認識しないといけないの?ってなるじゃん?

その時に使うのがcallbackURLなの!

することと同じようにcallbackURL=http://niconico.com/aboutとかつけると、tokenをこのURLに返せばいいんだなとかわかるわけ!で返すってのがtoken=sdsldjksをつけたりするの!

なので流れはこんな感じ

http://niconico.com → http://yaaaaaa.com?surukoto=tokenkudasai&callbackURL=http://niconico.com/about

http://yaaaaaで処理完了……

http://yaaaaaa.com → http://niconico.com/about?token=4kjdksjdhakj

ま実際はこんな感じだとあれなのでもっと複雑だけど、ここではcallbackURLのイメージを掴んでもらいたかったからこんな感じで説明させていただきました(/ω\)

ちなみにログインで使うこと多いかもだけど他のことで使うこともありそう…。


最後に

伝わったら嬉しいな(/ω\)