public virtual OutgoingWebResponse VerifyAccess(HttpRequestBase httpRequestInfo, out AccessToken accessToken) { Requires.NotNull(httpRequestInfo, "httpRequestInfo"); AccessProtectedResourceRequest request = null; try { if (this.Channel.TryReadFromRequest<AccessProtectedResourceRequest>(httpRequestInfo, out request)) { accessToken = this.AccessTokenAnalyzer.DeserializeAccessToken(request, request.AccessToken); ErrorUtilities.VerifyHost(accessToken != null, "IAccessTokenAnalyzer.DeserializeAccessToken returned a null reslut."); if (string.IsNullOrEmpty(accessToken.User) && string.IsNullOrEmpty(accessToken.ClientIdentifier)) { Logger.OAuth.Error("Access token rejected because both the username and client id properties were null or empty."); ErrorUtilities.ThrowProtocol(OAuth2Strings.InvalidAccessToken); } return null; } else { var response = new UnauthorizedResponse(new ProtocolException(OAuth2Strings.MissingAccessToken)); accessToken = null; return this.Channel.PrepareResponse(response); } } catch (ProtocolException ex) { var response = request != null ? new UnauthorizedResponse(request, ex) : new UnauthorizedResponse(ex); accessToken = null; return this.Channel.PrepareResponse(response); } }
public OutgoingWebResponse VerifyAccess(out AccessToken accessToken) { return this.VerifyAccess(this.Channel.GetRequestFromContext(), out accessToken); }
/// <summary> /// Initializes a new instance of the <see cref="AccessTokenResult"/> class. /// </summary> /// <param name="accessToken">The access token to include in this result.</param> public AccessTokenResult(AccessToken accessToken) { Requires.NotNull(accessToken, "accessToken"); this.AllowRefreshToken = true; this.AccessToken = accessToken; }