v1.0 use revel 0.12
This commit is contained in:
@ -85,8 +85,14 @@ func (c Auth) Logout() revel.Result {
|
|||||||
|
|
||||||
// 体验一下
|
// 体验一下
|
||||||
func (c Auth) Demo() revel.Result {
|
func (c Auth) Demo() revel.Result {
|
||||||
c.doLogin(configService.GetGlobalStringConfig("demoUsername"), configService.GetGlobalStringConfig("demoPassword"))
|
email := configService.GetGlobalStringConfig("demoPassword")
|
||||||
|
pwd := configService.GetGlobalStringConfig("demoPassword");
|
||||||
|
userInfo := authService.Login(email, pwd)
|
||||||
|
if userInfo.Email != "" {
|
||||||
|
c.SetSession(userInfo)
|
||||||
return c.Redirect("/note")
|
return c.Redirect("/note")
|
||||||
|
}
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------
|
//--------
|
||||||
|
@ -1,70 +0,0 @@
|
|||||||
package controllers
|
|
||||||
|
|
||||||
import (
|
|
||||||
"code.google.com/p/goauth2/oauth"
|
|
||||||
"github.com/revel/revel"
|
|
||||||
"github.com/leanote/leanote/app/lea/netutil"
|
|
||||||
. "github.com/leanote/leanote/app/lea"
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Oauth struct {
|
|
||||||
BaseController
|
|
||||||
}
|
|
||||||
|
|
||||||
var oauthCfg = &oauth.Config{
|
|
||||||
ClientId: "3790fbf1fc14bc6c5d85",
|
|
||||||
ClientSecret: "e9dadfe601c7caa6df9b33db3e7539945c60dfa2",
|
|
||||||
AuthURL: "https://github.com/login/oauth/authorize",
|
|
||||||
TokenURL: "https://github.com/login/oauth/access_token",
|
|
||||||
RedirectURL: "http://leanote.com/oauth/githubCallback",
|
|
||||||
Scope: "user",
|
|
||||||
}
|
|
||||||
|
|
||||||
// 用户允许后, github返回到leanote
|
|
||||||
// 通过code得到token
|
|
||||||
// https://github.com/login/oauth/authorize?access_type=&approval_prompt=&client_id=3790fbf1fc14bc6c5d85&redirect_uri=http%3A%2F%2F127.0.0.1%3A8080%2Foauth2callback&response_type=code&scope=user&state=
|
|
||||||
func (c Oauth) GithubCallback(code string) revel.Result {
|
|
||||||
t := &oauth.Transport{Config: oauthCfg}
|
|
||||||
|
|
||||||
// Exchange the received code for a token
|
|
||||||
tok, err := t.Exchange(code)
|
|
||||||
token := tok.AccessToken
|
|
||||||
if err != nil || token == "" {
|
|
||||||
c.RenderArgs["title"] = "error"
|
|
||||||
return c.RenderTemplate("oauth/oauth_callback_error.html")
|
|
||||||
}
|
|
||||||
|
|
||||||
// 得到用户信息
|
|
||||||
profileInfoURL := "https://api.github.com/user"
|
|
||||||
url := fmt.Sprintf("%s?access_token=%s", profileInfoURL, token)
|
|
||||||
content, err2 := netutil.GetContent(url)
|
|
||||||
if err2 != nil {
|
|
||||||
c.RenderArgs["title"] = "error"
|
|
||||||
return c.RenderTemplate("oauth/oauth_callback_error.html")
|
|
||||||
}
|
|
||||||
// 转成map
|
|
||||||
profileInfo := map[string]interface{}{}
|
|
||||||
Log(string(content))
|
|
||||||
err2 = json.Unmarshal(content, &profileInfo)
|
|
||||||
if err2 != nil {
|
|
||||||
c.RenderArgs["title"] = "error"
|
|
||||||
return c.RenderTemplate("oauth/oauth_callback_error.html")
|
|
||||||
}
|
|
||||||
|
|
||||||
usernameI := profileInfo["login"]
|
|
||||||
|
|
||||||
username, _ := usernameI.(string)
|
|
||||||
userId := username
|
|
||||||
|
|
||||||
// 注册
|
|
||||||
isExists, userInfo := authService.ThirdRegister("github", userId, username)
|
|
||||||
c.RenderArgs["isExists"] = isExists
|
|
||||||
c.RenderArgs["userInfo"] = userInfo
|
|
||||||
|
|
||||||
// 登录之
|
|
||||||
c.SetSession(userInfo)
|
|
||||||
|
|
||||||
return c.Redirect("/note")
|
|
||||||
}
|
|
@ -27,7 +27,7 @@
|
|||||||
<a href="/index">{{msg . "home"}}</a>
|
<a href="/index">{{msg . "home"}}</a>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="/index">leanote</a> © 2014
|
<a href="/index">leanote</a> © 2014-2015
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
<a href="/index">{{msg . "home"}}</a>
|
<a href="/index">{{msg . "home"}}</a>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="/index">leanote</a> © 2014
|
<a href="/index">leanote</a> © 2014-2015
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
<a href="/index">{{msg . "home"}}</a>
|
<a href="/index">{{msg . "home"}}</a>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="/index">leanote</a> © 2014
|
<a href="/index">leanote</a> © 2014-2015
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -64,7 +64,7 @@
|
|||||||
<a href="/index">{{msg . "home"}}</a>
|
<a href="/index">{{msg . "home"}}</a>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="/index">leanote</a> © 2014
|
<a href="/index">leanote</a> © 2014-2015
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
<a href="/index">{{msg . "home"}}</a>
|
<a href="/index">{{msg . "home"}}</a>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="/index">leanote</a> © 2014
|
<a href="/index">leanote</a> © 2014-2015
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ site.url=http://localhost:9000 # or http://x.com:8080, http://www.xx.com:9000
|
|||||||
# mongdb
|
# mongdb
|
||||||
db.host=localhost
|
db.host=localhost
|
||||||
db.port=27017
|
db.port=27017
|
||||||
db.dbname=leanote # required
|
db.dbname=leanote9 # required
|
||||||
db.username= # if not exists, please leave it blank
|
db.username= # if not exists, please leave it blank
|
||||||
db.password= # if not exists, please leave it blank
|
db.password= # if not exists, please leave it blank
|
||||||
# or you can set the mongdb url for more complex needs the format is:
|
# or you can set the mongdb url for more complex needs the format is:
|
||||||
@ -17,7 +17,7 @@ db.password= # if not exists, please leave it blank
|
|||||||
# db.url=mongodb://root:root123@localhost:27017/leanote
|
# db.url=mongodb://root:root123@localhost:27017/leanote
|
||||||
|
|
||||||
# You Must Change It !! About Security!!
|
# You Must Change It !! About Security!!
|
||||||
app.secret=V85ZzBeTnzpsHyjQX4zukbQaDM55VWxAH9Qop19poekx3xkcDVvrD0y
|
app.secret=V85ZzBeTnzpsHyjQX4zukbQ8qqtju9y2aDM55VWxAH9Qop19poekx3xkcDVvrD0y
|
||||||
|
|
||||||
#--------------------------------
|
#--------------------------------
|
||||||
# revel config
|
# revel config
|
||||||
@ -42,14 +42,14 @@ log.error.prefix = "ERROR "
|
|||||||
# The default language of this application.
|
# The default language of this application.
|
||||||
i18n.default_language=en
|
i18n.default_language=en
|
||||||
|
|
||||||
module.static=github.com/revel/revel/modules/static
|
module.static=github.com/revel/modules/static
|
||||||
|
|
||||||
[dev]
|
[dev]
|
||||||
mode.dev=true
|
mode.dev=true
|
||||||
results.pretty=true
|
results.pretty=true
|
||||||
watch=true
|
watch=true
|
||||||
|
|
||||||
module.testrunner = github.com/revel/revel/modules/testrunner
|
module.testrunner = github.com/revel/modules/testrunner
|
||||||
|
|
||||||
log.trace.output = stderr
|
log.trace.output = stderr
|
||||||
log.info.output = stderr
|
log.info.output = stderr
|
||||||
|
Reference in New Issue
Block a user