public async Task When_Passing_Null_Parameter_Then_Exception_Is_Thrown() { // ARRANGE InitializeFakeObjects(); // ACT & ASSERT await Assert.ThrowsAsync <ArgumentNullException>(() => _tokenActions.RevokeToken(null, null)); }
public async Task <ActionResult> PostRevoke() { if (Request.Form == null) { throw new ArgumentNullException(nameof(Request.Form)); } var serializer = new ParamSerializer(); var revocationRequest = serializer.Deserialize <RevocationRequest>(Request.Form); // 1. Fetch the authorization header StringValues authorizationHeader; AuthenticationHeaderValue authenticationHeaderValue = null; if (Request.Headers.TryGetValue("Authorization", out authorizationHeader)) { var authorizationHeaderValue = authorizationHeader.First(); var splittedAuthorizationHeaderValue = authorizationHeaderValue.Split(' '); if (splittedAuthorizationHeaderValue.Count() == 2) { authenticationHeaderValue = new AuthenticationHeaderValue( splittedAuthorizationHeaderValue[0], splittedAuthorizationHeaderValue[1]); } } // 2. Revoke the token var issuerName = Request.GetAbsoluteUriWithVirtualPath(); await _tokenActions.RevokeToken(revocationRequest.ToParameter(), authenticationHeaderValue, GetCertificate(), issuerName); return(new OkResult()); }
public async Task <ActionResult> PostRevoke() { try { if (Request.Form == null) { return(BuildError(ErrorCodes.InvalidRequestCode, "no parameter in body request", HttpStatusCode.BadRequest)); } } catch (Exception) { return(BuildError(ErrorCodes.InvalidRequestCode, "no parameter in body request", HttpStatusCode.BadRequest)); } var nameValueCollection = new NameValueCollection(); foreach (var kvp in Request.Form) { nameValueCollection.Add(kvp.Key, kvp.Value); } var serializer = new ParamSerializer(); var revocationRequest = serializer.Deserialize <RevocationRequest>(nameValueCollection); // 1. Fetch the authorization header StringValues authorizationHeader; AuthenticationHeaderValue authenticationHeaderValue = null; if (Request.Headers.TryGetValue("Authorization", out authorizationHeader)) { var authorizationHeaderValue = authorizationHeader.First(); var splittedAuthorizationHeaderValue = authorizationHeaderValue.Split(' '); if (splittedAuthorizationHeaderValue.Count() == 2) { authenticationHeaderValue = new AuthenticationHeaderValue( splittedAuthorizationHeaderValue[0], splittedAuthorizationHeaderValue[1]); } } // 2. Revoke the token var issuerName = Request.GetAbsoluteUriWithVirtualPath(); await _tokenActions.RevokeToken(revocationRequest.ToParameter(), authenticationHeaderValue, GetCertificate(), issuerName); return(new OkResult()); }
public async Task <ActionResult> PostRevoke() { if (Request.Form == null) { throw new ArgumentNullException(nameof(Request.Form)); } var nameValueCollection = new NameValueCollection(); foreach (var kvp in Request.Form) { nameValueCollection.Add(kvp.Key, kvp.Value); } var serializer = new ParamSerializer(); var revocationRequest = serializer.Deserialize <RevocationRequest>(nameValueCollection); // 1. Fetch the authorization header StringValues authorizationHeader; AuthenticationHeaderValue authenticationHeaderValue = null; if (Request.Headers.TryGetValue("Authorization", out authorizationHeader)) { var authorizationHeaderValue = authorizationHeader.First(); var splittedAuthorizationHeaderValue = authorizationHeaderValue.Split(' '); if (splittedAuthorizationHeaderValue.Count() == 2) { authenticationHeaderValue = new AuthenticationHeaderValue( splittedAuthorizationHeaderValue[0], splittedAuthorizationHeaderValue[1]); } } // 2. Revoke the token await _tokenActions.RevokeToken(revocationRequest.ToParameter(), authenticationHeaderValue); return(new OkResult()); }