質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Facebook

Facebookは、実名登録制のSNS(ソーシャル・ネットワーキング・サービス)です。開発者用のデベロッパーサイトが存在し、一般ユーザーによるFacebook向けアプリケーション開発が可能です。

Authentication

Authentication(認証)は正当性を認証する為の工程です。ログイン処理等で使われます。

Q&A

解決済

1回答

2335閲覧

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

退会済みユーザー

退会済みユーザー

総合スコア0

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Facebook

Facebookは、実名登録制のSNS(ソーシャル・ネットワーキング・サービス)です。開発者用のデベロッパーサイトが存在し、一般ユーザーによるFacebook向けアプリケーション開発が可能です。

Authentication

Authentication(認証)は正当性を認証する為の工程です。ログイン処理等で使われます。

0グッド

0クリップ

投稿2016/06/16 06:28

タイトルの通り今本を進めているのですが、2章のgomniauthのセキュリティーキーの取得方法が書いておらず、調べてもでてこないので、投稿した次第であります。(検索の仕方が悪いのかもしれませんが...)

外部アカウントのログインの実装を行っているのですが、以下のソースコードのgomniauthのセットアップというところ(gomniauth.SetSecurityKey)の取得の仕方がよくわかりません。
本にも載っておらずだったので困っています。
わかる方いらっしゃいましたらお願いします。

main.go

1 2package main 3 4import ( 5 "flag" 6 "github.com/stretchr/gomniauth" 7 "github.com/stretchr/gomniauth/providers/facebook" 8 "github.com/stretchr/gomniauth/providers/github" 9 "github.com/stretchr/gomniauth/providers/google" 10 "log" 11 "net/http" 12 "os" 13 "path/filepath" 14 "sync" 15 "text/template" 16 "trace" 17) 18 19type templateHandler struct { 20 once sync.Once 21 filename string 22 templ *template.Template 23} 24 25func (t *templateHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { 26 t.once.Do(func() { 27 t.templ = 28 template.Must(template.ParseFiles(filepath.Join("templates", t.filename))) 29 }) 30 t.templ.Execute(w, r) 31 32} 33 34func main() { 35 var addr = flag.String("addr", ":8080", "アプリケーションのアドレス") 36 flag.Parse() 37 38 //gomniauthのセットアップ 39 gomniauth.SetSecurityKey("セキュリティーキー") 40 gomniauth.WithProviders( 41 facebook.New("クライアントid","秘密の値", "http://localhost:8080/auth/callback/facebook"), 42 ) 43 44 r := newRoom() 45 r.tracer = trace.New(os.Stdout) 46 http.Handle("/", &templateHandler{filename: "chat.html"}) 47 http.Handle("/login", &templateHandler{filename: "login.html"}) 48 http.HandleFunc("/auth/", loginHandler) 49 http.Handle("/room", r) 50 //チャットルームを開始します。 51 go r.run() 52 //webサーバーを起動します。 53 log.Println("webサーバーを起動します。ポート:", *addr) 54 if err := http.ListenAndServe(*addr, nil); err != nil { 55 log.Fatal("ListenAndServe:", err) 56 } 57} 58

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

もしかしたらわかったかもしれないです。
自分の読みミスかもです。

投稿2016/06/16 07:47

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問