code: func (s *Service) CreateAuthorization(ctx context.Context, a *platform.Authorization) error {
  	op := OpPrefix + platform.OpCreateAuthorization
  
  	_, pErr := s.FindUserByID(ctx, a.UserID)
  	if pErr != nil {
  		return platform.ErrUnableToCreateToken
  	}
  
  	_, pErr = s.FindOrganizationByID(ctx, a.OrgID)
  	if pErr != nil {
  		return platform.ErrUnableToCreateToken
  	}
  
  	var err error
  	a.Token, err = s.TokenGenerator.Token()
  	if err != nil {
  		return &platform.Error{
  			Err: err,
  			Op:  op,
  		}
  	}
  
  	a.ID = s.IDGenerator.ID()
  	a.Status = platform.Active
  
  	return s.PutAuthorization(ctx, a)
  }
docs: // CreateAuthorization sets a.Token and a.ID and creates an platform.Authorization