getGitHubAuthUrl static method

String getGitHubAuthUrl({
  1. required String callbackUrl,
})

Generate GitHub OAuth URL

Implementation

static String getGitHubAuthUrl({required String callbackUrl}) {
  final clientId = Auth.config.githubClientId;
  if (clientId == null || clientId.isEmpty) {
    throw AuthException(
        'GitHub OAuth is not configured. Set GITHUB_CLIENT_ID.');
  }

  final state = _generateState(callbackUrl);

  _storeAuthData(state, '', callbackUrl);

  final params = {
    'client_id': clientId,
    'redirect_uri': callbackUrl,
    'scope': 'user:email',
    'state': state,
    'allow_signup': 'true',
  };

  return _buildUrl('https://github.com/login/oauth/authorize', params);
}