<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>OAuth &#8211; 株式会社カジトリ 技術ブログ</title>
	<atom:link href="https://develop.kajitori.co.jp/archives/tag/oauth/feed" rel="self" type="application/rss+xml" />
	<link>https://develop.kajitori.co.jp</link>
	<description>Officeアドイン、Laravel、Exmentなどの技術記事を記載します。</description>
	<lastBuildDate>Wed, 31 Aug 2022 09:14:14 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://develop.kajitori.co.jp/wp-content/uploads/2021/01/cropped-logo1-32x32.png</url>
	<title>OAuth &#8211; 株式会社カジトリ 技術ブログ</title>
	<link>https://develop.kajitori.co.jp</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Facebookアプリの個人情報提供のリスクについて</title>
		<link>https://develop.kajitori.co.jp/archives/100</link>
					<comments>https://develop.kajitori.co.jp/archives/100#respond</comments>
		
		<dc:creator><![CDATA[hsatou]]></dc:creator>
		<pubDate>Sun, 02 Sep 2018 13:03:54 +0000</pubDate>
				<category><![CDATA[その他技術]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[OAuth]]></category>
		<guid isPermaLink="false">https://develop.kajitori.co.jp/?p=100</guid>

					<description><![CDATA[はじめに 前回の記事で、Facebookアプリの仕組みと、そのリスクや、巷で言われていることの真偽を記載しました。 https://develop.kajitori.co.jp/?p=97 その中で特に言いたかったのは、...]]></description>
										<content:encoded><![CDATA[<h2 class="h_midashi">はじめに</h2>
<p>前回の記事で、Facebookアプリの仕組みと、そのリスクや、巷で言われていることの真偽を記載しました。<br />
<a href="https://develop.kajitori.co.jp/?p=97">https://develop.kajitori.co.jp/?p=97</a></p>
<p>その中で特に言いたかったのは、</p>
<ul>
<li>Facebookアプリを使っても、アカウントが乗っ取られることはない</li>
<li>Facebookアプリが、アプリを使用していない別の友だちの情報を取得することはできない<br />
といったことです。</li>
</ul>
<p>なので、「Facebookアプリを使用すると、パスワード流出して乗っ取られるよ」「友だちの情報を守るためにFacebookアプリを使用するな」といった記事が散見されますが、<br />
そのような記事は<strong>盛り過ぎ</strong>なのでご注意ください。<br />
※ただし、アプリからタイムラインに投稿されるリスクはあります。それは前回の記事参照</p>
<p>しかし、個人情報提供のリスクについては、注意が必要です。<br />
巷では、すでにアプリを使用している方に対し、「対策はアプリの削除」というものがあると言われています。<br />
しかし、<strong>それだけでは済まない、非常に重要なリスクがあります。</strong>それは、「後でアプリ削除すればいいや」では済まない問題です。<br />
今回はその点を解説します。いつものように技術的な観点も含みます。<br />
結論だけまとめた分かりやすい記事は、誰かにお任せします笑</p>
<h2 class="h_midashi">先に結論を書くと(最低限これだけ)</h2>
<ul>
<li>Facebookアプリを使用した場合の対策として、Facebookから「アプリの削除」を行うというものがあるが、それはあくまでも、「新しくFacebookから情報を取得できない」ということだけ</li>
<li>一度でもアプリを使用すると、それだけでアプリの開発者（業者など）に個人情報を渡す</li>
<li>そして、その個人情報は永続的に保管される可能性がある</li>
<li>それが嫌な人は、やはりアプリを使用しないのが吉</li>
<li>ただ、Facebookアプリは実は浸透しているので、どのアプリを使用するか、必ず吟味すること</li>
</ul>
<h2 class="h_midashi">データベースについて(システム的なお話)</h2>
<p>Facebookアプリをはじめ、一般的なシステムでは、「データベース」と呼ばれる仕組みを備えています。<br />
データベースとは、ざっくりいうと「情報を貯めて、情報の検索や更新などに使用するための仕組み」のことです。</p>
<p>例えばTwitterだと、<br />
・TwitterのユーザーのIDやメールアドレス、表示名<br />
・つぶやいた日時、投稿<br />
・つぶやきの「いいね」や「リツイート」<br />
などは、すべて「データベース」とよばれる仕組みに蓄積され、WebページやTwitterアプリで使用されます。</p>
<p><a href="https://develop.kajitori.co.jp/wp-content/uploads/2018/09/capture_20180830193646.png"><img fetchpriority="high" decoding="async" src="https://develop.kajitori.co.jp/wp-content/uploads/2018/09/capture_20180830193646-768x180.png" alt="" width="768" height="180" class="alignnone size-large wp-image-598"></a></p>
<p>他の例としては、ソシャゲのパズドラで、<br />
・パズドラのユーザー情報<br />
・所有しているモンスター情報<br />
・ダンジョン攻略情報<br />
などもすべて、データベースに保持しています。（※パズドラあんまり詳しくないです）</p>
<p>このように、システムを構築する際には切っても切れない仕組み、それがデータベースです。</p>
<p>では、Facebookアプリではどのように、データベースを使用しているのでしょうか？<br />
※それぞれのFacebookアプリで使われ方は違いますので、あくまでも「こう使われているかも、可能性がある」というニュアンスで読んでください。すべてのFacebookアプリがこの例ではありません。</p>
<p>まずは、ログインユーザーごとの「アクセストークン」を保存しています。<br />
アクセストークンは、前回も記載したように「Facebookからユーザー情報などを取得する際に使用する文字列」のことです。<br />
※詳しくは前回参照</p>
<p><a href="https://develop.kajitori.co.jp/wp-content/uploads/2018/08/capture_20180830193640.png"><img decoding="async" src="https://develop.kajitori.co.jp/wp-content/uploads/2018/08/capture_20180830193640-768x340.png" alt="" width="768" height="340" class="alignnone size-large wp-image-567"></a></p>
<p>このトークンを保存しておくことで、今後ユーザーが再ログインしなくても、Facebookからユーザー情報などを取得することが出来るようになります。<br />
ユーザーはわざわざFacebookにログインする必要がなく、アプリを使用できるようになるので、結構便利です。</p>
<p>そして、こっからが非常に重要なのですが、<strong>Facebookから取得したユーザー情報、すなわちidや名前など公開情報を、データベースに保存しています。</strong><br />
これはアプリ内で、名前などを表示するために使用しています。</p>
<p><a href="https://develop.kajitori.co.jp/wp-content/uploads/2018/09/capture_20180830193647.png"><img decoding="async" src="https://develop.kajitori.co.jp/wp-content/uploads/2018/09/capture_20180830193647-768x186.png" alt="" width="768" height="186" class="alignnone size-large wp-image-599"></a></p>
<h2 class="h_midashi">Facebookアプリの対策「アプリの削除」について</h2>
<p>診断系Facebookアプリの危険性を謳っているサイトで、対策としてだいたい書いているのが、「アプリの削除をする」です。<br />
具体的には、Facebookの設定画面の「アプリとウェブサイト」から、該当するアプリを削除することです。</p>
<p><a href="https://develop.kajitori.co.jp/wp-content/uploads/2018/09/capture_20180830193644.png"><img loading="lazy" decoding="async" src="https://develop.kajitori.co.jp/wp-content/uploads/2018/09/capture_20180830193644-768x296.png" alt="" width="768" height="296" class="alignnone size-large wp-image-600"></a><br />
<a href="https://www.facebook.com/help/204306713029340"><a href="https://www.facebook.com/help/204306713029340">https://www.facebook.com/help/204306713029340</a></a></p>
<p>不審なアプリがあったとして、この手順は正しいです。この手順を行うとどうなるかを解説します。</p>
<p>アプリを削除すると、Facebookアプリがアクセストークンを使って、Facebookから情報を取得することが出来なくなります。</p>
<p><a href="https://develop.kajitori.co.jp/wp-content/uploads/2018/08/capture_20180830193640.png"><img decoding="async" src="https://develop.kajitori.co.jp/wp-content/uploads/2018/08/capture_20180830193640-768x340.png" alt="" width="768" height="340" class="alignnone size-large wp-image-567"></a></p>
<p><a href="https://develop.kajitori.co.jp/wp-content/uploads/2018/09/capture_20180830193648.png"><img loading="lazy" decoding="async" src="https://develop.kajitori.co.jp/wp-content/uploads/2018/09/capture_20180830193648-768x253.png" alt="" width="768" height="253" class="alignnone size-large wp-image-601"></a></p>
<p>他にも、Facebook設定からアプリを削除することで、<strong>Facebookアプリがタイムラインに、投稿を行うことも出来なくなります。</strong><br />
そのため、不審なアプリを設定から削除するというのは、間違いなく必要な手順です。</p>
<p>ですが、ここで大きな落とし穴があります。<br />
先ほど、各Facebookアプリでは、データベースという仕組みで、個人情報などを保存している、という話をしました。<br />
ですが、<strong>Facebook設定からアプリを削除しても、このFacebookアプリのデータベースから、あなたの個人情報が削除されることはありません。</strong><br />
あくまでも、「新しく」Facebookの情報をアプリが取得できないだけで、<br />
<span class="font-bold font-red">データベースに保存済みのデータは削除されることはなく、永続的に保存されたままです。</span></p>
<p>ネガティブに言い方を変えると、<br />
<span class="font-bold font-red">Facebookアプリで「Facebookにログイン」をし、アプリにログインを行った時点で、その後設定からアプリを削除したとしても、<span class="font-large">あなたの情報は業者のデータベースに、ずっと保存されたままになります。</span></span></p>
<p>もしアプリの開発者が、非常に悪徳な業者であった場合、このデータベースに保存した情報をもとに、おそらく悪いことをしていくことになるでしょう。<br />
スパムメールを送ったり、・・・その他色々なことが起きてしまいます。</p>
<p><a href="https://develop.kajitori.co.jp/wp-content/uploads/2018/08/capture_20180830193636.png"><img loading="lazy" decoding="async" src="https://develop.kajitori.co.jp/wp-content/uploads/2018/08/capture_20180830193636-701x768.png" alt="" width="701" height="768" class="alignnone size-large wp-image-563"></a></p>
<p>仮にこんなアプリに、一度でもログインしてしまったら、<br />
あなたの氏名も誕生日も、出身地も写真も動画も性別もタイムラインも年齢層も、すべて・・・ずっと保存されたままです。<br />
非常に非常に危険ですね。</p>
<h2 class="h_midashi">対策</h2>
<p>確かに、アプリ利用による乗っ取りは起きません。<br />
そして、アプリを利用していない友達の情報を、アプリが取得することも出来ません。なので関係ない人に迷惑をかけることもありません。</p>
<p>しかし、この「アプリに個人情報を渡す仕組みやリスク」については、重々承知する必要があります。</p>
<p>この対策ですが、適切かつ明確なのが、<br />
<strong>アプリを利用しない</strong><br />
というのが一番です。</p>
<p>ですが、このFacebookアプリの仕組み、実は意外と色んなところで使われています。<br />
例えば前回紹介した「キャンディークラッシュ」。</p>
<p><a href="https://develop.kajitori.co.jp/wp-content/uploads/2018/08/2018-08-30-21.59.43.jpg"><img loading="lazy" decoding="async" src="https://develop.kajitori.co.jp/wp-content/uploads/2018/08/2018-08-30-21.59.43-374x768.jpg" alt="" width="374" height="768" class="alignnone size-large wp-image-557"></a></p>
<p>これもFacebookの友達情報と連携して、アプリに活用しています。<br />
なので、厳密に言えばこのようなアプリも使用できなくなります。</p>
<p>他にも、グルメ系の投稿サイト「Retty」も、Facebookログインを用意しています。</p>
<p><a href="https://develop.kajitori.co.jp/wp-content/uploads/2018/09/capture_20180830193645.png"><img loading="lazy" decoding="async" src="https://develop.kajitori.co.jp/wp-content/uploads/2018/09/capture_20180830193645-768x364.png" alt="" width="768" height="364" class="alignnone size-large wp-image-602"></a></p>
<p>このサイトを利用する場合、このRettyにも、他のアプリと同様に情報を提供することになるので、ログインできなくなっちゃいます。</p>
<p>すなわち何が言いたいかと言うと、このFacebookアプリの仕組み、すでに世の中で色んな所で使われているわけです。<br />
もし、本当にこれらを使わない、となると、けっこう不自由を受ける可能性があります。<br />
悪いのは悪徳な業者です。真っ当な会社やシステムであれば、本来であればアプリを利用しても問題ないはずです。</p>
<p>なので大切なことは、<br />
<strong>・どのアプリを使用するかどうかを、必ず吟味すること。情報を提供する先の会社はどんな業者かを必ず確認すること<br />
・Facebookアプリにログインする前に、「受け取る情報」がどうなっているかを必ず確認すること<br />
・一度でもアプリにログインを行ったら、その後アプリを削除したとしても、情報はアプリに渡っていることを理解すること<br />
<span class="font-red">・すべては自己責任</span></strong><br />
ということです。</p>
<h2 class="h_midashi">結論</h2>
<p><span class="font-red font-large font-bold">不安だったら利用しない<br />
すべては自己責任と理解した人だけアプリを使用すべし</span></p>
]]></content:encoded>
					
					<wfw:commentRss>https://develop.kajitori.co.jp/archives/100/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>診断系のFacebookアプリは危険！？Facebookアプリの仕組みについて解説(2018年版)</title>
		<link>https://develop.kajitori.co.jp/archives/97</link>
					<comments>https://develop.kajitori.co.jp/archives/97#respond</comments>
		
		<dc:creator><![CDATA[hsatou]]></dc:creator>
		<pubDate>Thu, 30 Aug 2018 13:00:32 +0000</pubDate>
				<category><![CDATA[その他技術]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[PICKUP]]></category>
		<guid isPermaLink="false">https://develop.kajitori.co.jp/?p=97</guid>

					<description><![CDATA[はじめに 最近、筆者の周りで 「Facebookの診断系アプリは危険」 「あらゆる個人情報を、業者に渡すことになる」 「やってしまうと、Facebook乗っ取られたり、投稿」 「やってしまった方は、今すぐパスワードを変更...]]></description>
										<content:encoded><![CDATA[<style type="text/css">
.h_midashi, .h_midashi2{<br />
    margin-top: 3em;<br />
}<br />
</style>
<h2 class="h_midashi">はじめに</h2>
<p>最近、筆者の周りで<br />
「Facebookの診断系アプリは危険」<br />
「あらゆる個人情報を、業者に渡すことになる」<br />
「やってしまうと、Facebook乗っ取られたり、投稿」<br />
「やってしまった方は、今すぐパスワードを変更して二段階認証を設定するべき」<br />
という話が上がっていました。</p>
<p>Facebookの診断系アプリというと、例えば今だと以下のようなものです。</p>
<p><a href="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830192756.png"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-555" src="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830192756-768x670.png" alt="" width="768" height="670"></a></p>
<p>これ系のアプリの診断結果は、ちょいちょいFacebookのフィードにも上がってきますね。</p>
<p>これらのアプリをあまりやらないほうがいいのは、筆者も同意見です。<br />
ですが、「ものすごく危険」「やると乗っ取られる」といったこととは、事実と若干異なる部分があります。</p>
<p>そこで今回は、</p>
<ul>
<li>Facebookアプリとはそもそもなにか</li>
<li>どのような情報を取得しているか</li>
<li>どのような仕組みなのか</li>
<li>巷で言われていることの事実・間違いの切り分け</li>
</ul>
<p>を、可能な限りシステム疎い方でも分かるように、頑張って解説していこうと思います！</p>
<p>※個人の見解を含みます。また間違いや情報の更新などございましたら、ご指摘いただければ幸いです。</p>
<p><span id="more-97"></span></p>
<h2 class="h_midashi">先に結論を書くと(最低限これだけ)</h2>
<ul>
<li>Facebookアプリはパスワードを盗めないから乗っ取りも出来ないから安心しろ</li>
<li>あなたの友達がどんなアプリを使用していても、あなたには影響がない</li>
<li>ただし、アプリの設定によっては「あなたに代わって投稿」は出来ちゃうから、そこだけ注意</li>
<li>また、アプリの設定によっては「個人情報を不必要に悪用」されるリスクはある</li>
<li>100％安全というわけではないので、アプリ使用時の設定を必ず確認し、自己責任で使用すること</li>
</ul>
<h2 class="h_midashi">Facebookアプリとは？</h2>
<p>ざっくり言うと、Facebookの情報を使用したアプリすべてです。<br />
それはWebサイトの場合も、スマホのアプリの場合もあります。</p>
<p>例えば、前述したWebサイトの「nametests.com」は、典型的なFacebookアプリです。<br />
<a href="https://ja.nametests.com/"><a href="https://ja.nametests.com/">https://ja.nametests.com/</a></a><br />
<a href="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193633.png"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-556" src="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193633-768x536.png" alt="" width="768" height="536"></a></p>
<p>Facebookの情報を使用して、診断や占いなど行うものですね。</p>
<p>一方で、スマホのアプリでも、Facebookの情報を使用しているものがあります。<br />
例えば、一時期筆者もやっておりました「キャンディークラッシュ」。<br />
これはアプリの設定で、「Facebookでログイン」という表記がされています。<br />
<a href="https://hirossyi.net/wp-content/uploads/2018/08/2018-08-30-21.59.43.jpg"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-557" src="https://hirossyi.net/wp-content/uploads/2018/08/2018-08-30-21.59.43-374x768.jpg" alt="" width="374" height="768"></a></p>
<p>よくある診断系だけでなく、このようなスマホのアプリも、立派なFacebookアプリです。</p>
<p>そして、そのFacebookアプリをユーザーがはじめて使用するとき、このような表示がされます。</p>
<p><a href="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193634.png"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-558" src="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193634-750x768.png" alt="" width="750" height="768"></a></p>
<p>よく見るやつですね。<br />
そして、「裕としてログイン」をクリックすることで、アプリ（写真の場合はnametests.com）が、ユーザーの情報を取得することができるわけです。</p>
<h2 class="h_midashi">Facebookアプリの仕組み</h2>
<p>さて、ここからはFacebookアプリの仕組みを、簡単に解説します。<br />
順を追って解説していきますね。</p>
<h3 class="h_midashi2">開発者がFacebookアプリを作る時</h3>
<p>開発者がFacebookアプリを開発する際、「このアプリは、Facebookのどの情報を取得するか？」という情報を、開発者はあらかじめ設定しておきます。<br />
例えば、</p>
<p>・ユーザーのEメールアドレス<br />
・ユーザーの写真一覧<br />
・ユーザーの誕生日<br />
・ユーザーの性別<br />
・ユーザーのタイムライン一覧<br />
・友達リスト<br />
といった情報です。</p>
<p><a href="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193635.png"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-559" src="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193635-768x368.png" alt="" width="768" height="368"></a></p>
<p>このような情報を、アプリごとに、あらかじめ設定しておく必要があります。ちなみにこれらの設定を「スコープ」といいます。</p>
<p>なお、ここで1点特記事項としては、これらの項目として、<strong><span style="color: #ff0000;"><span class="red bold">パスワードを設定することは出来ません。</span></span></strong><br />
<strong><span style="color: #ff0000;"><span class="red bold">Facebookアプリはパスワードを取得することは出来ませんし、変更することも出来ません。</span></span></strong></p>
<h3 class="h_midashi2">ユーザーがFacebookアプリを使用する時</h3>
<p>そして、Facebookアプリを使用する場合です。<br />
下の画像のように、Facebookアプリを使用する際、「Facebookにログイン」のボタンをクリックします。</p>
<p>すると、上にも貼り付けた画像が表示されます。</p>
<p><a href="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193634_2.png"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-561" src="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193634_2-750x768.png" alt="" width="750" height="768"></a></p>
<p>ここで重要なのは、赤線で囲った部分です。<br />
これは、これから使用するFacebookアプリが、Facebookから取得する情報・もしくは使用する権限を、一覧で表示します。</p>
<p>ちなみにキャンディクラッシュの場合はこちらです。</p>
<p><a href="https://hirossyi.net/wp-content/uploads/2018/08/2018-08-30-20.30.41.jpg"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-562" src="https://hirossyi.net/wp-content/uploads/2018/08/2018-08-30-20.30.41-374x768.jpg" alt="" width="374" height="768"></a><br />
「友達リスト」が含まれていますね。なのでキャンディクラッシュは、ログインしたユーザーの友達リストも取得することができるようになっています。<br />
（そして、この「友達リスト」についても重要な事実があります。詳しくは後述します）</p>
<p>ユーザーは、ここに書かれている情報を確認することで、「これから使用するFacebookアプリは、いったいどんな情報を使用するか」ということを、確認することができるわけです。</p>
<p>なので、必要以上にてんこ盛りだと、「あれ、なにか怪しくない？」となるわけです。<br />
設定を大量にぶち込むと、こんな感じになります。</p>
<p><a href="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193636.png"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-563" src="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193636-701x768.png" alt="" width="701" height="768"></a></p>
<p>これはあからさまに怪しいですねｗこのようなアプリは怪しいので、ユーザーは使用しない方がいいです。</p>
<h3 class="h_midashi2">ユーザーがFacebookにログイン後、アプリで行っていること</h3>
<p>「Facebookにログイン」を実施した後、アプリ内部でどのような処理を行っているかを説明します。</p>
<p>まず、ログインすることで、Facebookから「アクセストークン」と呼ばれる、超長い文字列が返ってきます。</p>
<p><a href="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193637.png"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-564" src="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193637-768x140.png" alt="" width="768" height="140"></a></p>
<p>こんな感じの文字列です。実際には200字以上あります。</p>
<p>この文字列を使用して、アプリはFacebookから、情報を取得するわけです。<br />
例えば、ログインユーザーのプロフィールを、アプリから取得したい場合、</p>
<p>・先ほど取得したアクセストークン<br />
・取得したい内容<br />
この2点をFacebookに渡します。</p>
<p><a href="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193638.png"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-565" src="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193638-768x354.png" alt="" width="768" height="354"></a></p>
<p>こうすることによって、Facebookはプロフィール情報を、アプリに送り返すわけです。</p>
<p><a href="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193639.png"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-566" src="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193639-768x219.png" alt="" width="768" height="219"></a></p>
<p>ちなみにここで取得できるのは、ユーザーがログインしたときに設定している、「スコープ」の範囲内です。<br />
上の画像で使用している例でいうと、アプリBでは「友達リスト」を設定しています。<br />
そのため、アプリは友達リストを取得することができます。</p>
<p><a href="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193640.png"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-567" src="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193640-768x340.png" alt="" width="768" height="340"></a></p>
<p><a href="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193641.png"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-568" src="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193641-768x230.png" alt="" width="768" height="230"></a></p>
<p>一方、アプリAでは「友達リスト」を、取得する情報として設定していません。<br />
そのため、仮にアプリAが友達リストを取得しようとすると、エラーが発生して取得できません。</p>
<p><a href="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193642.png"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-569" src="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193642-768x331.png" alt="" width="768" height="331"></a></p>
<p><a href="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193643.png"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-570" src="https://hirossyi.net/wp-content/uploads/2018/08/capture_20180830193643-768x205.png" alt="" width="768" height="205"></a></p>
<p>このように、Facebookから情報を受け取ったアプリは、この情報を使用して、その後のプログラムで活用できることになります。</p>
<p>※この仕組みは、システム用語で言うと「API」と呼ばれます。<br />
また、ログインなどの仕組みを「認証」「認可」、Facebookアプリで採用している仕組みは「OAuth2」と呼びます。<br />
テストには出ないです。</p>
<p>これが、Facebookアプリの一連の流れです。<br />
ここで重要なのは、<br />
・Facebookアプリでは、ログインユーザーのパスワードを受け取っていないし、受け取ることは決して出来ない<br />
・ログインユーザーの情報は、「アクセストークン」と呼ばれる超長い文字列を使用することで、取得できる。そしてこれは、パスワードを使用しない<br />
・Facebookアプリがアクセストークンを取得するためには、ログインユーザーが一度、「Facebookでログイン」ボタンを押す必要がある<br />
ということです。</p>
<h2 class="h_midashi">巷で言われている話の真偽、QA</h2>
<p>これらの話を踏まえ、Facebookアプリ（特に診断系）について、巷で言われていることの真偽やQAをまとめていきます。</p>
<h3 class="h_midashi2">Facebookアプリを使用すると、アカウントが乗っ取られる！！</h3>
<p>「乗っ取られる」の定義が何かによりますが、「IDパスワードが盗まれる」「自分のアカウントを誰かに勝手に使われる」という意味だと、それはNOです。<br />
なぜなら、<strong><span style="color: #ff0000;"><span class="red bold">Facebookアプリはログインユーザーのパスワードを取得することが出来ない</span>からです。</span></strong><br />
パスワードを取得出来ないので、悪意のある開発者が、その後のアカウントをどうこうしようとしても、それは出来ません。<br />
※ただしFacebookアプリでは、「タイムラインの投稿」というスコープがあります。これは文字通り、Facebookアプリが、ログインユーザーのタイムラインに投稿をすることができる権利です。<br />
そのため、<span class="font-bold">アプリのスコープに「タイムラインの投稿」が含まれていた場合、悪意のあるアプリが、ユーザーにタイムラインに投稿することは出来てしまいます。</span>そこは要注意です。</p>
<h3 class="h_midashi2">診断系アプリを使用してしまったら、今すぐパスワード変更をして二段階認証を設定すべき！</h3>
<p>これは意味がないです。なぜなら、もうおわかりだと思いますが、Facebookアプリはパスワードを使用していません。<br />
いくらパスワードを変更しようとも、二段階認証を設定しようとも、アクセストークンが有効な限り、Facebookアプリはあなたの情報を取得できてしまいます。<br />
なのでこの点に関しては、二段階認証も無意味です。<br />
（ただ一般論として、現代では二段階認証の有無で情報流出のリスクが段違いなので、二段階認証は設定するようにしてくださいね）</p>
<h3 class="h_midashi2">アプリを使用すると、個人情報を抜かれるんでしょ？</h3>
<p>これは、上で解説している「スコープ」次第です。スコープで設定した内容のみ、Facebookから情報が取得できます。<br />
ちなみに標準設定だと、アプリが取得できるのは、<br />
<span class="red">※2018/09/02 1:00訂正</span><br />
・id<br />
・名前<br />
・公開プロフィール(プロフィール写真、性別など)<br />
です。<br />
※当初、idと名前のみと記載しておりましたが、公開プロフィールも含まれておりました。訂正いたします。<br />
なお、公開プロフィールは、Facebookに登録していなくても、誰でも閲覧できる情報になります。</p>
<p>これらはFacebookの画面からかんたんに取得できる、公開情報になります。<br />
それ以上の情報は、アプリごとに設定されているスコープ次第です。ログイン画面でユーザーが許可した内容のみ、Facebookアプリに渡すことになります。</p>
<p>この設定によって、例えば以下のような情報をアプリに渡すことになります。<br />
・メールアドレス<br />
・誕生日<br />
・写真<br />
・タイムライン投稿の一覧<br />
なにかに悪用しようと思えば十分ですね。<br />
そのため、Facebookアプリを使用する場合、<span class="font-bold">ログイン時の「受け取る情報」がどうなっているかを確認し、自己判断で行ってください。</span><br />
ちなみに、実際に個人情報悪用のニュースもあるようです。<br />
<a href="https://r.nikkei.com/article/DGXMZO29264270R10C18A4X11000?s=0" rel="noopener noreferrer" target="_blank"><a href="https://r.nikkei.com/article/DGXMZO29264270R10C18A4X11000?s=0">https://r.nikkei.com/article/DGXMZO29264270R10C18A4X11000?s=0</a></a></p>
<h3 class="h_midashi2">友達のあの人がFacebookアプリを使用すると、自分の個人情報まで流出するからやめろ！！</h3>
<p>これは明確にNOです。<br />
その根拠は、Facebook APIの「友達リスト」の仕様に記載があります。<br />
<a href="https://developers.facebook.com/docs/graph-api/reference/v3.1/user/friends"><a href="https://developers.facebook.com/docs/graph-api/reference/v3.1/user/friends">https://developers.facebook.com/docs/graph-api/reference/v3.1/user/friends</a></a><br />
ざっくり和訳すると、以下になります。</p>
<p>↓↓↓↓↓↓<br />
友達リスト<br />
あなたに以下の情報を提供します<br />
・このFacebookアプリをインストールした、あなたの友達ユーザーの一覧<br />
・あなたの友達ユーザーの総数（このFacebookアプリをインストールしていないユーザーを含む）<br />
↑↑↑↑↑↑</p>
<p>つまり、悪意のあるアプリを友達が利用しちゃってたとして、<strong>あなたがそのアプリを使用しない限り、あなたの情報を友達が取得することは出来ません。</strong></p>
<p>キャンディークラッシュを例にとります。キャンディークラッシュのアプリで取得できる、Facebookの友達の情報は、すでにキャンディークラッシュをインストールしている友達のもののみです。<br />
<strong>キャンディークラッシュを使用していないユーザーの情報を、キャンディークラッシュが取得することは出来ません。</strong></p>
<p>なので、どれだけ友達が変なアプリを使用していようが、イライラする必要はないです。ご安心を。</p>
<h3 class="h_midashi2">じゃあなんでレイ○ンの投稿や乗っ取りは終わらないの？</h3>
<p>Facebookアプリとは別の原因の可能性が高いです。例えばパスワード使い回しとかね。<br />
最低限パスワード使い回しは辞めて、二段階認証の設定は行いましょう。起こってからでは遅いです。</p>
<h3 class="h_midashi2">他のブログで、「個人情報が抜かれる！！」「こんなのやる人は頭が悪い！！」と書いてあったんだけど</h3>
<p>たぶん技術的なことが分かっていない人が書いたブログだと思います。それかアクセス稼ぎか。<br />
「Facebookにログイン」のときに書かれている項目以外の情報が、Facebookから抜き出されていたとしたら、<strong class="red font-bold font-large">それはFacebookの大セキュリティ事故です。</strong>それも株価大暴落ってレベルじゃない。<br />
そんなことができるとしたら、真っ先にこっそりFacebookに報告しましょう。すごい報酬がもらえるはずです。<br />
・・・まあ、それぐらい有り得ないレベルですね。</p>
<h3 class="h_midashi2">結局、Facebookアプリは100％安全なの？</h3>
<p><span class="font-large">100％安全という訳ではないです。</span><br />
乗っ取りや、関係ない友達の情報を悪用されることはありませんが、あなたの個人情報悪用のリスクがあります。</p>
<h3 class="h_midashi2">難しくて、良く分からなかった！</h3>
<p><span class="font-large">アプリを使用しないのが無難です。</span></p>
<h2 class="h_midashi">まとめ</h2>
<p>以上、Facebookアプリの仕様をまとめました。<br />
昔はFacebookアプリは、割と自由だった記憶があります。なので友達の情報を勝手に利用とか、そういうことが起きていたのかもしれません。<br />
が、最近厳しくなったようです。悪意のある業者が勝手に投稿など行ったんでしょう。<br />
それもあってか、少なくとも2018年現在では、アプリに関するセキュリティはかなり厳重になっております。なので、悪意のあるアプリによる被害というのは、限りなく低いと思います。<br />
（考えてみると、Facebookアプリのそういった投稿、昔に比べて減ってますよね）</p>
<p>ただ、それでもリスクが無いわけではないです。<br />
例えば診断系のアプリでは、写真を使うものがあります。<br />
「写真を取得」のスコープを設定すれば、アプリがログインユーザーの写真を取得することが出来ますので、その写真を使って、どうこうすることは考えられます。</p>
<p>なので、やはりFacebookアプリを使用する場合は、自己判断で行うほうが良いです。<br />
そのアプリが信頼できる業者なのか、その辺は自分自身で判断してください。</p>
<h2 class="h_midashi">最後に</h2>
<p>Facebookアプリが、情報を取得できないようにする方法です。<br />
この方法を実行すれば、実行後はFacebookアプリは、一度許可していたとしても、情報を取得することができなくなります。<br />
その手順は以下のURLをご参照ください。（書こうとしたけど力尽きた）<br />
<a href="https://www.facebook.com/help/204306713029340"><a href="https://www.facebook.com/help/204306713029340">https://www.facebook.com/help/204306713029340</a></a></p>
<h2 class="h_midashi">つづき</h2>
<p>個人情報提供のリスクについて書きました<br />
<a href="https://develop.kajitori.co.jp/?p=100">https://develop.kajitori.co.jp/?p=100</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://develop.kajitori.co.jp/archives/97/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
