Support defaultHttpClient.

This commit is contained in:
Yang Luo
2021-08-01 14:48:29 +08:00
parent 629ae5a54b
commit 1a2d85102c
4 changed files with 21 additions and 7 deletions

View File

@ -100,6 +100,14 @@ func (c *ApiController) GetApplicationLogin() {
c.ServeJSON()
}
func setHttpClient(idProvider idp.IdProvider, providerType string) {
if providerType == "GitHub" || providerType == "Google" || providerType == "Facebook" || providerType == "LinkedIn" {
idProvider.SetHttpClient(proxyHttpClient)
} else {
idProvider.SetHttpClient(defaultHttpClient)
}
}
// @Title Login
// @Description login
// @Param oAuthParams query string true "oAuth parameters"
@ -213,7 +221,7 @@ func (c *ApiController) Login() {
return
}
idProvider.SetHttpClient(httpClient)
setHttpClient(idProvider, provider.Type)
if form.State != beego.AppConfig.String("authState") && form.State != application.Name {
resp = &Response{Status: "error", Msg: fmt.Sprintf("state expected: \"%s\", but got: \"%s\"", beego.AppConfig.String("authState"), form.State)}