Represents the authorization code created when a user approves authorization that allows the client to request an access/refresh token.
Inheritance: DotNetOpenAuth.OAuth2.ChannelElements.AuthorizationDataBag
		public override Task<MessageProtections?> ProcessIncomingMessageAsync(IProtocolMessage message, CancellationToken cancellationToken) {
			var authCodeCarrier = message as IAuthorizationCodeCarryingRequest;
			if (authCodeCarrier != null) {
				var authorizationCodeFormatter = AuthorizationCode.CreateFormatter(this.AuthorizationServer);
				var authorizationCode = new AuthorizationCode();
				authorizationCodeFormatter.Deserialize(authorizationCode, authCodeCarrier.Code, message, Protocol.code);
				authCodeCarrier.AuthorizationDescription = authorizationCode;
			}

			var refreshTokenCarrier = message as IRefreshTokenCarryingRequest;
			if (refreshTokenCarrier != null) {
				var refreshTokenFormatter = RefreshToken.CreateFormatter(this.AuthorizationServer.CryptoKeyStore);
				var refreshToken = new RefreshToken();
				refreshTokenFormatter.Deserialize(refreshToken, refreshTokenCarrier.RefreshToken, message, Protocol.refresh_token);
				refreshTokenCarrier.AuthorizationDescription = refreshToken;
			}

			return MessageProtectionTasks.Null;
		}