private async Task <AccessTokenRes> GetClientWhenSdkInit(CancellationToken cancellationToken = default) { var param = new AccessTokenParam(UserPoolId, secret); var res = await Request <AccessTokenResponse>(param.CreateRequest(), cancellationToken); return(res.Result); }
/// <summary> /// 获取访问令牌 /// </summary> /// <param name="param">访问令牌参数</param> /// <returns></returns> public override async Task <AuthorizationResult> GetTokenAsync(AccessTokenParam param) { var config = await ConfigProvider.GetConfigAsync(); Validate(config, param); var builder = new AuthorizationParameterBuilder(); ConfigGetToken(builder, param, config); return(await RequestResult(config, builder, ParameterParserType.Json, Success)); }
/// <summary> /// 获取访问令牌 /// </summary> /// <param name="provider">授权提供程序</param> /// <param name="param">访问令牌参数</param> /// <returns></returns> public static async Task <AuthorizationResult> GetTokenAsync(this IAuthorizationProvider provider, AccessTokenParam param) { if (provider is IAccessTokenProvider accessTokenProvider) { return(await accessTokenProvider.GetTokenAsync(param)); } throw new NotImplementedException(nameof(GetTokenAsync)); }
public async Task Test_GetTokenAsync() { var param = new AccessTokenParam(); param.Code = ""; param.RedirectUri = TestSampleConfig.WechatCallbackUrl; var result = await _provider.GetTokenAsync(param); _output.WriteLine(result.ToJson()); Assert.NotNull(result); }
/// <summary> /// 配置获取访问令牌 /// </summary> /// <param name="builder">授权参数生成器</param> /// <param name="param">访问令牌参数</param> /// <param name="config">授权配置</param> protected override void ConfigGetToken(AuthorizationParameterBuilder builder, AccessTokenParam param, WechatAuthorizationConfig config) { builder.GatewayUrl(config.AccessTokenUrl) .AppId(config.AppId) .Secret(config.AppKey) .Code(param.Code) .GrantType(OAuthConst.AuthorizationCode); }
/// <summary> /// 配置获取访问令牌 /// </summary> /// <param name="builder">授权参数生成器</param> /// <param name="param">访问令牌参数</param> /// <param name="config">授权配置</param> protected override void ConfigGetToken(AuthorizationParameterBuilder builder, AccessTokenParam param, GiteeAuthorizationConfig config) { builder.GatewayUrl(config.AccessTokenUrl) .GrantType(OAuthConst.AuthorizationCode) .Code(param.Code) .ClientId(config.AppId) .RedirectUri(string.IsNullOrWhiteSpace(param.RedirectUri) ? config.CallbackUrl : param.RedirectUri, false) .ClientSecret(config.AppKey); }