title: openActiveSessionWithReadPermissions does not log in automatically
body: <p>I have recently started using Facebook SDK 3.1, and am encountering some problems with logging in using <code>openActiveSessionWithReadPermissions</code>.</p>
  
  <p>Actually, loggin in works perfectly, if there is a cached token available, it logs in without presenting Facebook UI, and if not, it presents the UI. </p>
  
  <p>The problem occurs after I make a call to <code>reauthorizeWithPublishPermissions</code>. If I call <code>reauthorizeWithPublishPermissions</code>, then close and reopen the application, and make a call to <code>openActiveSessionWithReadPermissions</code>, it presents the Facebook UI and requires the user to say "yes I'm OK with read permissions", even though there is a cached token available.</p>
  
  <p>It only presents the Facebook UI erroneously if I make a call to <code>reauthorizeWithPublishPermissions</code>, otherwise everything works fine.</p>
  
  <p>Open for read code:</p>
  
  <pre><code>[FBSession openActiveSessionWithReadPermissions:readpermissions allowLoginUI:YES
                                           completionHandler:^(FBSession *aSession, FBSessionState status, NSError *error) {
              [self sessionStateChanged:[FBSession activeSession] state:status error:error];
              if (status != FBSessionStateOpenTokenExtended) {
                  // and here we make sure to update our UX according to the new session state
                  FBRequest *me = [[FBRequest alloc] initWithSession:aSession
                                                           graphPath:@"me"];
                  [me startWithCompletionHandler:^(FBRequestConnection *connection,
                                                   NSDictionary&lt;FBGraphUser&gt; *aUser,
                                                   NSError *error) {
                      self.user = aUser;
  
                      aCompletionBlock(aSession, status, error);
                  }];
              }
          }];
  </code></pre>
  
  <p>the sessionStateChanged function:</p>
  
  <pre><code>- (void)sessionStateChanged:(FBSession *)aSession state:(FBSessionState)state error:(NSError *)error {
  
      if (aSession.isOpen) {
          // Initiate a Facebook instance and properties
          if (nil == self.facebook || state == FBSessionStateOpenTokenExtended) {
              self.facebook = [[Facebook alloc]
                               initWithAppId:FBSession.activeSession.appID
                               andDelegate:nil];
  
              // Store the Facebook session information
              self.facebook.accessToken = FBSession.activeSession.accessToken;
              self.facebook.expirationDate = FBSession.activeSession.expirationDate;
          }
      } else {
          // Clear out the Facebook instance
          if (state == FBSessionStateClosedLoginFailed) {
              [FBSession.activeSession closeAndClearTokenInformation];
          }
          self.facebook = nil;
      }
  }
  </code></pre>
  
  <p>the Publish call, with an empty aPublishAction for testing:</p>
  
  <pre><code>- (void)doPublishAction:(void(^)(FBSession *aSession, NSError *error))aPublishAction {
  
      if ([FBSession.activeSession.permissions
           indexOfObject:@"publish_actions"] == NSNotFound) {
  
          NSArray *writepermissions = [[NSArray alloc] initWithObjects:
                                       @"publish_stream",
                                       @"publish_actions",
                                       nil];
  
          [[FBSession activeSession]reauthorizeWithPublishPermissions:writepermissions defaultAudience:FBSessionDefaultAudienceFriends completionHandler:^(FBSession *aSession, NSError *error){
              if (error) {
                  NSLog(@"Error on public permissions: %@", error);
              }
              else {
                  aPublishAction(aSession, error);
              }
  
  
          }];
  
      }
      else {
          // If permissions present, publish the story
           aPublishAction(FBSession.activeSession, nil);
      }
  }
  </code></pre>
  
  <p>Thanks for everything in advance, I would be grateful for any and all help!!</p>