auth.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package service
  2. import (
  3. "git.sxidc.com/go-framework/baize/convenient/domain/auth"
  4. "git.sxidc.com/go-framework/baize/convenient/domain/auth/middlewares"
  5. "git.sxidc.com/go-framework/baize/framework/binding"
  6. "git.sxidc.com/go-framework/baize/framework/core/api"
  7. "git.sxidc.com/go-framework/baize/framework/core/application"
  8. "git.sxidc.com/go-framework/baize/framework/core/infrastructure"
  9. )
  10. func AuthMiddleware(i *infrastructure.Infrastructure) api.Handler {
  11. return func(c *api.Context) {
  12. middlewares.Authentication(dbSchema, jwtSecretKey)(c, i)
  13. }
  14. }
  15. var authService = &AuthService{}
  16. type AuthService struct{}
  17. func (svc *AuthService) Init(appInstance *application.App) error {
  18. // TODO 初始化超管用户
  19. svc.prefixRoot(appInstance)
  20. return nil
  21. }
  22. func (svc *AuthService) Destroy() error {
  23. return nil
  24. }
  25. func (svc *AuthService) prefixRoot(appInstance *application.App) {
  26. prefixRootBinder := binding.NewBinder(appInstance.ChooseRouter(api.RouterPrefix, ""), appInstance.Infrastructure())
  27. auth.BindAuth(prefixRootBinder, &auth.Simple{
  28. Schema: dbSchema,
  29. AESKey: aesKey,
  30. JWTSecretKey: jwtSecretKey,
  31. JWTExpiredSec: 24 * 3600,
  32. AuthMiddleware: middlewares.Authentication(dbSchema, jwtSecretKey),
  33. })
  34. }