Esempio n. 1
0
        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));
        }
Esempio n. 3
0
        /// <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);
 }