public override Task Build(IEnumerable <string> scopes, HandlerContext handlerContext, JObject claims = null) { var dic = new JObject(); if (handlerContext.Request.Data != null) { foreach (var record in handlerContext.Request.Data) { dic.Add(record.Key, record.Value); } } if (handlerContext.User != null) { dic.Add(UserClaims.Subject, handlerContext.User.Id); } var refreshToken = GrantedTokenHelper.BuildRefreshToken(dic, handlerContext.Client.RefreshTokenExpirationTimeInSeconds); handlerContext.Response.Add(TokenResponseParameters.RefreshToken, refreshToken); return(Task.FromResult(0)); }
public override async Task Build(IEnumerable <string> scopes, HandlerContext handlerContext, CancellationToken cancellationToken) { var dic = new JObject(); if (handlerContext.Request.RequestData != null) { foreach (var record in handlerContext.Request.RequestData) { dic.Add(record.Key, record.Value); } } if (handlerContext.User != null) { dic.Add(UserClaims.Subject, handlerContext.User.Id); } var authorizationCode = string.Empty; handlerContext.Response.TryGet(AuthorizationResponseParameters.Code, out authorizationCode); var refreshToken = await GrantedTokenHelper.AddRefreshToken(handlerContext.Client.ClientId, authorizationCode, dic, handlerContext.Client.RefreshTokenExpirationTimeInSeconds, cancellationToken); handlerContext.Response.Add(TokenResponseParameters.RefreshToken, refreshToken); }