4

Google App Engine Go SDK を使用して Federated Login を実装しようとしていますが、このテーマで見つけることができる唯一の例は、 Python および Java でこれを行う方法に関するものです。URL を取得するためにこの関数を呼び出す必要があることは理解していますが、渡すパラメーターについてはわかりません。いくつかの主要なプラットフォーム (Facebook、Twitter など) の GAE Golang での Federated Login の例を誰か提供できますか?

4

1 に答える 1

6

Facebook と Twitter は認証に OpenID を使用しません。

Facebook はOAuth 2を使用します -認証にはgoauth2を使用する必要があります。

Twitter の使用: OAuth。認証にはgoauthを使用する必要があります。

それでも、Yahoo、Google、MySpace などのプロバイダーに Federated Login を使用したい場合は、次のようになります。

c := appengine.NewContext(r)
// url is the OpenID url other possiblities include:
//   - yahoo.com
//   - myspace.com
//   - aol.com
//   - flickr.com/USERNAME
url := "gmail.com"
// redirectURL is where you want the User to be redirected to after login.
redirectURL := "/callback"
loginUrl, err := user.LoginURLFederated(c, redirectURL, url)
// Then redirect the user to the url.
http.Redirect(w, r, loginUrl, http.StatusFound)

Facebook と Twitter の認証については、go.authパッケージを参照してください。App Engine では機能しない可能性がありますが、いくつかの手がかりが得られる可能性があります。

HAL/authパッケージでこの問題の解決策にも取り組んでいますが、現時点では不完全です。HAL がアプリ エンジンの openidを処理する方法は次のとおりです。

于 2012-07-15T15:17:18.107 に答える