From 54ef2ec09fd3c767da7582f8dd6a90c2b076a96e Mon Sep 17 00:00:00 2001 From: Gucheng Wang Date: Mon, 8 Nov 2021 23:28:41 +0800 Subject: [PATCH] Expose GetOAuthCode() as API. --- controllers/token.go | 33 ++++++++++++++++++++++++++++----- routers/router.go | 1 + 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/controllers/token.go b/controllers/token.go index 07f62792..f4f90112 100644 --- a/controllers/token.go +++ b/controllers/token.go @@ -112,13 +112,36 @@ func (c *ApiController) DeleteToken() { c.ServeJSON() } +// GetOAuthCode +// @Title GetOAuthCode +// @Description get OAuth code +// @Param user_id query string true "The id of user" +// @Param client_id query string true "OAuth client id" +// @Param response_type query string true "OAuth response type" +// @Param redirect_uri query string true "OAuth redirect URI" +// @Param scope query string true "OAuth scope" +// @Param state query string true "OAuth state" +// @Success 200 {object} object.TokenWrapper The Response object +// @router /login/oauth/code [post] +func (c *ApiController) GetOAuthCode() { + userId := c.Input().Get("user_id") + clientId := c.Input().Get("client_id") + responseType := c.Input().Get("response_type") + redirectUri := c.Input().Get("redirect_uri") + scope := c.Input().Get("scope") + state := c.Input().Get("state") + + c.Data["json"] = object.GetOAuthCode(userId, clientId, responseType, redirectUri, scope, state) + c.ServeJSON() +} + // GetOAuthToken // @Title GetOAuthToken -// @Description get oAuth token -// @Param grant_type query string true "oAuth grant type" -// @Param client_id query string true "oAuth client id" -// @Param client_secret query string true "oAuth client secret" -// @Param code query string true "oAuth code" +// @Description get OAuth access token +// @Param grant_type query string true "OAuth grant type" +// @Param client_id query string true "OAuth client id" +// @Param client_secret query string true "OAuth client secret" +// @Param code query string true "OAuth code" // @Success 200 {object} object.TokenWrapper The Response object // @router /login/oauth/access_token [post] func (c *ApiController) GetOAuthToken() { diff --git a/routers/router.go b/routers/router.go index ceacd197..c788576e 100644 --- a/routers/router.go +++ b/routers/router.go @@ -101,6 +101,7 @@ func initAPI() { beego.Router("/api/update-token", &controllers.ApiController{}, "POST:UpdateToken") beego.Router("/api/add-token", &controllers.ApiController{}, "POST:AddToken") beego.Router("/api/delete-token", &controllers.ApiController{}, "POST:DeleteToken") + beego.Router("/api/login/oauth/code", &controllers.ApiController{}, "POST:GetOAuthCode") beego.Router("/api/login/oauth/access_token", &controllers.ApiController{}, "POST:GetOAuthToken") beego.Router("/api/get-records", &controllers.ApiController{}, "GET:GetRecords")