mirror of
https://github.com/casdoor/casdoor.git
synced 2025-07-03 04:10:20 +08:00
Add /api/user API for Flarum's FoF Passport plugin
This commit is contained in:
@ -87,6 +87,7 @@ p, *, *, POST, /api/logout, *, *
|
|||||||
p, *, *, GET, /api/logout, *, *
|
p, *, *, GET, /api/logout, *, *
|
||||||
p, *, *, GET, /api/get-account, *, *
|
p, *, *, GET, /api/get-account, *, *
|
||||||
p, *, *, GET, /api/userinfo, *, *
|
p, *, *, GET, /api/userinfo, *, *
|
||||||
|
p, *, *, GET, /api/user, *, *
|
||||||
p, *, *, POST, /api/webhook, *, *
|
p, *, *, POST, /api/webhook, *, *
|
||||||
p, *, *, GET, /api/get-webhook-event, *, *
|
p, *, *, GET, /api/get-webhook-event, *, *
|
||||||
p, *, *, *, /api/login/oauth, *, *
|
p, *, *, *, /api/login/oauth, *, *
|
||||||
|
@ -370,6 +370,43 @@ func (c *ApiController) GetUserinfo() {
|
|||||||
c.ServeJSON()
|
c.ServeJSON()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetUserinfo2
|
||||||
|
// LaravelResponse
|
||||||
|
// @Title UserInfo2
|
||||||
|
// @Tag Account API
|
||||||
|
// @Description return Laravel compatible user information according to OAuth 2.0
|
||||||
|
// @Success 200 {object} LaravelResponse The Response object
|
||||||
|
// @router /user [get]
|
||||||
|
func (c *ApiController) GetUserinfo2() {
|
||||||
|
user, ok := c.RequireSignedInUser()
|
||||||
|
if !ok {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// this API is used by "Api URL" of Flarum's FoF Passport plugin
|
||||||
|
// https://github.com/FriendsOfFlarum/passport
|
||||||
|
type LaravelResponse struct {
|
||||||
|
Id string `json:"id"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
Email string `json:"email"`
|
||||||
|
EmailVerifiedAt string `json:"email_verified_at"`
|
||||||
|
CreatedAt string `json:"created_at"`
|
||||||
|
UpdatedAt string `json:"updated_at"`
|
||||||
|
}
|
||||||
|
|
||||||
|
response := LaravelResponse{
|
||||||
|
Id: user.Id,
|
||||||
|
Name: user.Name,
|
||||||
|
Email: user.Email,
|
||||||
|
EmailVerifiedAt: user.CreatedTime,
|
||||||
|
CreatedAt: user.CreatedTime,
|
||||||
|
UpdatedAt: user.UpdatedTime,
|
||||||
|
}
|
||||||
|
|
||||||
|
c.Data["json"] = response
|
||||||
|
c.ServeJSON()
|
||||||
|
}
|
||||||
|
|
||||||
// GetCaptcha ...
|
// GetCaptcha ...
|
||||||
// @Tag Login API
|
// @Tag Login API
|
||||||
// @Title GetCaptcha
|
// @Title GetCaptcha
|
||||||
|
@ -50,6 +50,7 @@ func initAPI() {
|
|||||||
beego.Router("/api/logout", &controllers.ApiController{}, "GET,POST:Logout")
|
beego.Router("/api/logout", &controllers.ApiController{}, "GET,POST:Logout")
|
||||||
beego.Router("/api/get-account", &controllers.ApiController{}, "GET:GetAccount")
|
beego.Router("/api/get-account", &controllers.ApiController{}, "GET:GetAccount")
|
||||||
beego.Router("/api/userinfo", &controllers.ApiController{}, "GET:GetUserinfo")
|
beego.Router("/api/userinfo", &controllers.ApiController{}, "GET:GetUserinfo")
|
||||||
|
beego.Router("/api/user", &controllers.ApiController{}, "GET:GetUserinfo2")
|
||||||
beego.Router("/api/unlink", &controllers.ApiController{}, "POST:Unlink")
|
beego.Router("/api/unlink", &controllers.ApiController{}, "POST:Unlink")
|
||||||
beego.Router("/api/get-saml-login", &controllers.ApiController{}, "GET:GetSamlLogin")
|
beego.Router("/api/get-saml-login", &controllers.ApiController{}, "GET:GetSamlLogin")
|
||||||
beego.Router("/api/acs", &controllers.ApiController{}, "POST:HandleSamlLogin")
|
beego.Router("/api/acs", &controllers.ApiController{}, "POST:HandleSamlLogin")
|
||||||
|
Reference in New Issue
Block a user