DotNetOpenAuth.OAuth2.AuthorizationServer.PrepareAccessTokenResponse C# (CSharp) Method

PrepareAccessTokenResponse() private method

Prepares the response to an access token request.
private PrepareAccessTokenResponse ( DotNetOpenAuth.OAuth2.Messages.AccessTokenRequestBase request, bool includeRefreshToken = true ) : DotNetOpenAuth.OAuth2.Messages.AccessTokenSuccessResponse
request DotNetOpenAuth.OAuth2.Messages.AccessTokenRequestBase The request for an access token.
includeRefreshToken bool If set to true, the response will include a long-lived refresh token.
return DotNetOpenAuth.OAuth2.Messages.AccessTokenSuccessResponse
		private AccessTokenSuccessResponse PrepareAccessTokenResponse(AccessTokenRequestBase request, bool includeRefreshToken = true) {
			Requires.NotNull(request, "request");

			if (includeRefreshToken) {
				if (request is AccessTokenClientCredentialsRequest) {
					// Per OAuth 2.0 section 4.4.3 (draft 23), refresh tokens should never be included
					// in a response to an access token request that used the client credential grant type.
					Logger.OAuth.Debug("Suppressing refresh token in access token response because the grant type used by the client disallows it.");
					includeRefreshToken = false;
				}
			}

			var tokenRequest = (IAuthorizationCarryingRequest)request;
			var accessTokenRequest = (IAccessTokenRequestInternal)request;
			var response = new AccessTokenSuccessResponse(request) {
				HasRefreshToken = includeRefreshToken,
			};
			response.Scope.ResetContents(tokenRequest.AuthorizationDescription.Scope);
			return response;
		}
	}