キャリアエヌでは、ビジネスライフに役立つビジネスノウハウ情報を発信しております!
109,315view

アクセストークンとは?-Webサービスにおけるユーザー認証-

アクセストークンとは?-Webサービスにおけるユーザー認証-
※本ページにはプロモーションが含まれています

こんにちは!

「キャリアエヌ」の管理人です!

お昼の貴重な時間にご覧いただきありがとうございます!

今日は、11月22日(金)です!

はじめに


WebサービスなどのITに携わっている方であれば、「アクセストークン」という言葉を聞いたことがある方も少なくないかと思います。

また、「アクセストークンって何?」という方もいるかと思います。

そこで、今回は、「アクセストークン」について色々と説明したいと思います。


「アクセストークン」とは?


「アクセストークン(Access Token)」は、一言でいうと、

Webサービスを利用するために、認証局がユーザーを認証するために払い出した認証情報

です。

ここで言う認証局とはユーザーを認証する情報を保持しており、ユーザーを認証することができるWebサーバーで、Webサービスを提供しているWebサーバー、または、ユーザーを認証することができる第三者のWebサーバーなどを示します。


「アクセストークン」の払い出しと認証の概要!


通常、ユーザー認証が必要なWebサービスを利用する場合、メールアドレスなどのログインIDとパスワードを入力し、Webサービスを利用します。

この際、一度入力したメールアドレスなどのログインIDやパスワードを各認証ページに引き継ぐこと、つまり、アクセスの度にログインIDやパスワードを通信させ使用することは、セキュリティの観点からは危険なため、認証局は初回ログイン以降にユーザーを認証するための、「アクセストークン」を払い出し、初回ログイン以降は、払い出した「アクセストークン」でユーザーを認証することになります。

これが、「アクセストークン認証」です。

「アクセストークン」は認証局(Webサービス)により様々ですが、通常は、ユニークなランダムな英数字をそれなりの長さ(16桁、32桁、64桁など)で払い出すのが一般的です。

例えば

zf14dffq3fg46ghg7dip1ash74ioisud

のようなユニークなランダムな英数字が「アクセストークン」として払い出され、ユーザーと関連付けられます。

また、払いだされた「アクセストークン」は、初回ログイン以降のアクセスにおいて、Webサーバーでアクセス毎に認証する必要があるため、Cookie(クッキー)やセション、html内のhidden項目などに保持しておく必要があります。


「アクセストークン」の有効期限!


Webサーバーで「アクセストークン」を認証する際に、「アクセストークン」には有効期限を設定することが一般的です。

よく、会員ページなどにログインした後に、数時間操作しないでいると、勝手にログアウトされるようなケースがあると思いますが、簡単に言うと、「アクセストークン」の有効期限が過ぎていることにより、再ログインを求められることが多々あるのはそのためです。


具体的な「アクセストークン」の払い出しと認証の流れ!


以下に、具体的な「アクセストークン」の払い出しと認証の流れの例を説明します。

※この例では、会員(ユーザー)が認証が必要な会員ページにログインし、会員情報変更ページなどにアクセスする際の例です。


1.Webサービスのログインページ(ユーザー認証ページ)にユーザーがアクセスする。(ユーザー)



2.Webサービス側(Webサーバー)は、ログインページ(ユーザー認証ページ)をユーザーに返却(表示)する。(認証局)



3.ユーザーは、メールアドレスなどのログインIDやパスワードをログインページ(ユーザー認証ページ)に入力する。(ユーザー)



4.ユーザーは、ログインページ(ユーザー認証ページ)のログインボタンを押下し、Webサービス側(Webサーバー)に認証を依頼する。(ユーザー)



5.Webサービス側(Webサーバー)は、送られてきたログインIDやパスワードを認証し、認証OKの場合は「アクセストークン」を発行およびCookie(クッキー)やセション、html内のhidden項目などに保持し、結果(会員メニューやマイページなど)をユーザーに返却する。(認証局)

※認証NGの場合は、ユーザーにエラー画面返却を(表示)する。(認証局)



6.ユーザー認証後、ユーザーは、認証が必要なページ(会員情報変更ページなど)にアクセスする。(ユーザー)



7.ユーザーが認証が必要なページにアクセスした際に、「アクセストークン」がWebサービス側(Webサーバー)に送信され、Webサービス側(Webサーバー)は送られてきた「アクセストークン」を認証する。また、必要に応じて「アクセストークン」の有効期限を更新する。(認証局)

※Webサービス側(Webサーバー)は送られてきた「アクセストークン」が不正(有効期限切れ、改ざんなど)の場合は、ユーザーにエラー画面返却を(表示)する。(認証局)


以上のように、初回ログイン以降のユーザー認証が必要なアクセスは、全て「アクセストークン」で認証する流れとなります。


ご参考!


補足ですが、先で、ユーザーを認証することができる第三者のWebサーバーによる認証もある旨を述べていますが、例えば、Webサービス側の認証情報ではなく、全く違う第三者の認証情報でユーザーを認証するということを言っています。

具体的には、最近多いのは、第三者であるGoogle、Twitter、Facebookなどのアカウント情報でユーザーを認証するWebサービスです。

よく、Google、Twitter、Facebookなどのサービスではないのに、Google、Twitter、Facebookなどのアカウント情報で認証すると使用できるWebサービスは多々あり、最近、日に日に増えてきています。

※ポケモンGOなどがいい例で、ポケモンGOはNianticがサービスを提供していますが、ユーザー認証はGoogleアカウントでの認証となっていますよね!


最後に


今回、「アクセストークン」について色々と説明しましたが、世の中にある様々なWebサービスにおいて「アクセストークン」は、我々の目には見えないところで使用されています。
ad
ad
>関連記事!
Cookie,クッキー,使用用途
Cookie(クッキー)とは?
インターネットを利用していると、よくCookie(クッキー)という言葉を聞いたことがあるかと思いますが、皆さんはCookie(クッキー)の役割をご存じでしょうか?今回はCookie(クッキー)の使用用途について説明します。
IT4,876view