49615


twitterのapiを使用するときにで出てくる call back
urlとinstagramのapiを使う時に出てくるリダイレクトurlについて教えて頂けないでしょうか？

call back urlについては調べたら少し情報が出てきました。  
apiを用いてログインした後にユーザをcall back urlのページに誘導すると書いてありました。

1：2つは同じ意味でしょうか？

2：これらはなぜ必要なのでしょうか？

詳しい方教えて頂けると幸いです。


CC BY-SA 4.0
2018-10-22T13:20:52.847
49539
2020-06-16T12:02:30.280
22565
question
python api twitter oauth instagram
apiのRedirect URLや Call back URLについて


具体的にどのようなAPIなのかは調べていないですが、ユーザ認証やAPI利用に関する認可に関する手続きで出てくるRedirect
URL(URI)やCallback URL(URI)についての質問だと思いますので、その前提で答えます。

>   1. 2つは同じ意味でしょうか？
>

同じ意味です。

>   2. これらはなぜ必要なのでしょうか？
>

どちらも「TwitterやInstagramのDomainから、ユーザ認証結果やAPIを利用したいアプリ/サービスのDomainに制御を戻すために必要となります。

アプリ/サービスがユーザ認証結果やAPIを利用したい場合、Twitter内やInstagram内のどのユーザがアクセスしてきたのかをまずは特定する（これをユーザ認証と呼ぶ）必要があります。その特定のために、例えばメールアドレスやパスワードといった「第3者に知られたくない情報（ユーザクレデンシャルと呼びます）」をユーザに入力させる必要があります。この際に、ユーザクレデンシャルをアプリ/サービスにて入力させてしまっては、第3者に知られたくない情報なのに、その第3者に相当するアプリ/サービスの開発者や運営者に知られてしまいます。これは良くありません。

ではどうしたら良いかというと、アプリ/サービスから、ユーザ認証を行うことに問題のないTwitterやInstagramのDomainにユーザを誘導し、TwitterやInstagramのDomain内でユーザクレデンシャルをユーザに入力してもらいます。これにより、アプリ/サービスの開発者/運営者は、ユーザクレデンシャルを知ることができなくなります。TwitterやInstagramは、ユーザクレデンシャルからユーザを特定し、アプリ/サービスが要求してきたことを行わせて良いかどうかそのユーザに同意を取ります（これを認可と呼ぶ）。そして、その証明として、認可コードやアクセストークンなどの識別子を発行します。

制御はこの時点ではTwitter/Instagramにありますので、ユーザを元のアプリ/サービスに戻さなければなりません。それと同時に、認可コードやアクセストークンをそのアプリ/サービスに渡さなければなりません。そこで、Twitter/Instagramがアプリ/サービスに制御を戻すために、Redirect
URL(URI)やCallback URL(URI)が使われます。つまり、Redirect URL(URI)やCallback
URL(URI)が指し示す場所は、一般的にはそのアプリ/サービスのDomainです。

これらの結果、ユーザとしては、誰にもバレたくないユーザクレデンシャルをアプリ/サービスの開発者/運営者に知られずに、でもアプリ/サービスからはそのユーザが同意した権限の範囲内で、そのユーザに代わってTwitter/InstagramのAPIなどを利用することができるようになる、という流れとなります。


CC BY-SA 4.0
2018-10-24T10:57:46.073
49615
2018-10-24T10:57:46.073
531
49539
answer