wp_signon works local, not on https

You need to set the auth cookie after wp_signon. Add this code and try and let me know the result.

$user = wp_signon( $creds, false );

$userID = $user->ID;

wp_set_current_user( $userID, $creds['user_login']  );
wp_set_auth_cookie( $userID, true, false );
do_action( 'wp_login',$creds['user_login']  );