Plugin Directory

Changeset 619230


Ignore:
Timestamp:
10/30/2012 09:59:57 PM (13 years ago)
Author:
jascott
Message:

OAuth fix for non-browser authorize validation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kickpress/trunk/kickpress-oauth.php

    r619216 r619230  
    448448                   
    449449                    $authorize = strtolower( $query['authorize'] );
    450                     unset( $query['authorize'] );
     450                   
     451                    $return_query = array( 'oauth_token' => $query['oauth_token'] );
    451452                   
    452453                    // Check for prior authorization
     
    457458                        update_option( $option, $oauth );
    458459                       
    459                         $query['oauth_verifier'] = $oauth->oauth_verifier;
     460                        $return_query['oauth_verifier'] = $oauth->oauth_verifier;
    460461                       
    461462                        $is_blog_user = false;
     
    475476                            add_user_to_blog( $blog_id, $user_id, 'subscriber' );
    476477                    } elseif ( 'no' == $authorize ) {
    477                         $query['oauth_error'] = 'Denied access by user';
     478                        $return_query['oauth_error'] = 'Denied access by user';
    478479                    } else {
    479480                        self::authorize_form( $args );
     
    482483                   
    483484                    if ( kickpress_is_remote_app() ) {
    484                         unset( $query['login'], $query['password'] );
    485                         die( self::normalize_params( $query ) );
     485                        die( self::normalize_params( $return_query ) );
    486486                    }
    487487                   
    488488                    $url = $oauth->oauth_callback . '?'
    489                          . http_build_query( $query );
     489                         . http_build_query( $return_query );
    490490                   
    491491                    header( 'Location: ' . $url );
     
    596596                                array( 'oauth_token' => $token ) );
    597597                           
     598                            $option = sprintf( 'kickpress_oauth_request_token_%x',
     599                                hexdec( kickpress_app_hash( 'crc32', $token ) ) );
     600                           
    598601                            if ( $meta = @array_shift( $meta ) ) {
    599602                                $token        = $meta->oauth_token;
     
    602605                                $consumer->set_user_id( $meta->user_id );
    603606                                $consumer->set_blog_id( $meta->blog_id );
     607                            } elseif ( $option = get_option( $option, null ) ) {
     608                                $token        = $option->oauth_token;
     609                                $token_secret = $option->oauth_token_secret;
    604610                            }
    605611                        }
Note: See TracChangeset for help on using the changeset viewer.