oauth.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package admin
  2. import "Gwen/model"
  3. type BindOauthForm struct {
  4. Op string `json:"op" binding:"required"`
  5. }
  6. type OauthConfirmForm struct {
  7. Code string `json:"code" binding:"required"`
  8. }
  9. type UnBindOauthForm struct {
  10. Op string `json:"op" binding:"required"`
  11. }
  12. type OauthForm struct {
  13. Id uint `json:"id"`
  14. Op string `json:"op" validate:"required"`
  15. Issuer string `json:"issuer" validate:"omitempty,url"`
  16. Scopes string `json:"scopes" validate:"omitempty"`
  17. ClientId string `json:"client_id" validate:"required"`
  18. ClientSecret string `json:"client_secret" validate:"required"`
  19. RedirectUrl string `json:"redirect_url" validate:"required"`
  20. AutoRegister *bool `json:"auto_register"`
  21. }
  22. func (of *OauthForm) ToOauth() *model.Oauth {
  23. oa := &model.Oauth{
  24. Op: of.Op,
  25. ClientId: of.ClientId,
  26. ClientSecret: of.ClientSecret,
  27. RedirectUrl: of.RedirectUrl,
  28. AutoRegister: of.AutoRegister,
  29. Issuer: of.Issuer,
  30. Scopes: of.Scopes,
  31. }
  32. oa.Id = of.Id
  33. return oa
  34. }