code: func (s *IdentityService) CreateGithubAuthRequest(req services.GithubAuthRequest) error {
  	err := req.Check()
  	if err != nil {
  		return trace.Wrap(err)
  	}
  	value, err := json.Marshal(req)
  	if err != nil {
  		return trace.Wrap(err)
  	}
  	item := backend.Item{
  		Key:     backend.Key(webPrefix, connectorsPrefix, githubPrefix, requestsPrefix, req.StateToken),
  		Value:   value,
  		Expires: req.Expiry(),
  	}
  	_, err = s.Create(context.TODO(), item)
  	if err != nil {
  		return trace.Wrap(err)
  	}
  	return nil
  }
docs: // CreateGithubAuthRequest creates a new auth request for Github OAuth2 flow