kazu22002の技術覚書

PHPer, Golang, AWS エンジニアの日々

「Go言語によるWebアプリケーション開発」2章 認証機能の追加

Go言語によるWebアプリケーション開発

Go言語によるWebアプリケーション開発

2章は、1章のチャットアプリケーションに認証機能を追加する章です。

OAuth2を利用したソーシャルログインにて認証する仕組みになっています。学びばかりです。

Decoratorパターンでのhttp.Handler型のラップによる機能追加

通常のHTTPのHandlerに認証機能を追加して、同じ機能を提供しています。

デザインパターンについて、読んだことがある程度でちゃんと理解できていないレベルですが、認証機能追加がこんなに簡単にできると早いうちにいくつか理解したほうがいいですね。

全部を覚える必要はないと思いますが、名前からどんな実装をしているか想像がつくぐらいにはしておきたいです。

共通の用語で話ができると楽になりますね。

ソーシャルログイン

最近は本当にどのサービスでもあると思います。

twittergoogleアカウントでログインの認証を行う仕組みです。

見ていて実装してみたかった機能ですが、やってみれば本当に簡単でした。

OAuth2の仕組み自体を理解してないですが、ライブラリが認証部分をしっかりとやってくれているため、実装自体は簡単にできます。

たぶんOAuthのClientKeyとSecretKeyを作成する部分が一番難しいと思います。(Google, Github共に)

Google, Github, Facebookが本に載っていますが、GoogleGithubを試してみました。

学び多い2章

最近のスマホユーザーはメールアドレスを活用しない。というぐらいに、ソーシャルログインでアプリを使うのが主な手段になっていると思います。

やってみると本当に簡単に実装できることが実感できます。運用になるとまた苦労する部分もあると思いますが、挑戦してみたいです。

あとはどこまでOAuth2 の認証の仕組みを理解する必要があるか。ですね。

次は「プロフィール画像取得」です。エクスペリエンスは大事です。