2014-12-23 133 views
4

我正在使用Generator Angular Fullstack製作我的第一個Web應用程序。 https://github.com/DaftMonk/generator-angular-fullstackAngularStack Facebook,Google +和Twitter身份驗證

在初始化過程中我設定OAuth以下:Facebook的,Google +和Twitter

我使用Openshift的歡迎,並在對項目後......我用我通過項目初始化跑到這裏將其添加到openshift的步驟。這包括爲RHC設置Facebook,Google+和Twitter身份驗證的環境變量。我也加了這些。

但是,使用我的新應用...我無法在Facebook,Google +或Twitter上創建新帳戶。 當我創建新帳戶,這些都是錯誤的,我得到:

Facebook的:

Invalid App ID: id 

Google+的方式:

401. That’s an error. 

Error: invalid_client 

The OAuth client was not found. 

Request Details 
    scope=https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email 
    response_type=code 
    redirect_uri=http://site.rhcloud.com/auth/google/callback 
    client_id=id 
That’s all we know. 

的Twitter:

Internal Server Error 

我沒有做過多少除了通過教程到目前爲止。但我覺得我錯過了一些東西。對此主題的任何幫助將grea.t謝謝:)

回答

1

那麼,首先你必須配置你的clientIDs,clientSecrets和callBackURLs。這些您需要在每個oAuth提供商的開發者平臺頁面上找到。即對於Facebook這將是:https://developers.facebook.com/apps/

這些可以被放置在local.env.js文件(包括樣品,如:

module.exports = { 
    DOMAIN: 'http://localhost:9000', 
    SESSION_SECRET: "xxxxxxxxxxxxx", 

    FACEBOOK_ID: 'xxxxxxx', 
    FACEBOOK_SECRET: 'xxxxxxx', 

    TWITTER_ID: 'xxxxxxx', 
    TWITTER_SECRET: 'xxxxxx', 

    GOOGLE_ID: 'xxxxxxx', 
    GOOGLE_SECRET: 'xxxxxxx', 

    ..... 
}; 
0

當部署到Heroku的不要忘記設置與HTTP/HTTPS前綴域配置變量在使用Google+的登錄。

heroku config:set DOMAIN=http://<your app name>.herokuapp.com 

否則你會得到一個redirect_uri_mismatch。如果這與你可能需要啓用內部服務器錯誤結束Google開發者控制檯中的Google+ API。

0

如果你已經獲得了你提供的ID和SECRET鍵,並且你仍然有OpenShift的困難,就像我做的那樣......我發現爲應用程序設置環境變量對我來說確實有竅門。

谷歌,例如:

RHC設置ENV -a GOOGLE_ID = RHC設置ENV -a GOODLE_SECRET =

在local.env.js出口爲我工作得很好時,該模塊我開發本地但沒有當我推我的應用程序通過Grunt buildcontrol的OpenShift