--- /Users/brian/Sites/plugins/blogger-importer/trunk/blogger-importer.php	2010-06-01 18:59:32.000000000 -0500
+++ /Users/brian/Sites/wordpress-trunk/wp-content/plugins/blogger-importer/blogger-importer.php	2010-08-17 15:59:37.000000000 -0500
@@ -96,7 +96,7 @@
 
 	function auth() {
 		// We have a single-use token that must be upgraded to a session token.
-		$token = preg_replace( '/[^-_0-9a-zA-Z]/', '', $_GET['token'] );
+		$token = urldecode( preg_replace( '/[^%-_0-9a-zA-Z]/', '', $_GET['token'] ) );
 		$headers = array(
 			"GET /accounts/AuthSubSessionToken HTTP/1.0",
 			"Authorization: AuthSub token=\"$token\""
@@ -105,7 +105,7 @@
 		$sock = $this->_get_auth_sock( );
 		if ( ! $sock ) return false;
 		$response = $this->_txrx( $sock, $request );
-		preg_match( '/token=([-_0-9a-z]+)/i', $response, $matches );
+		preg_match( '/token=([%-_0-9a-z]+)/i', $response, $matches );
 		if ( empty( $matches[1] ) ) {
 			$this->uh_oh(
 				__( 'Authorization failed' , 'blogger-importer'),
@@ -114,7 +114,7 @@
 			);
 			return false;
 		}
-		$this->token = $matches[1];
+		$this->token = urldecode( $matches[1] );
 
 		wp_redirect( remove_query_arg( array( 'token', 'noheader' ) ) );
 	}
