<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Dropbox authentication on iPhone X in Dropbox API Support &amp; Feedback</title>
    <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Dropbox-authentication-on-iPhone-X/m-p/252103#M14529</link>
    <description>&lt;P&gt;And the log error is:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;Auth Error: Error:[ErrorType: 6 ErrorDescription: Unable to verify link request&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 10 Nov 2017 15:17:54 GMT</pubDate>
    <dc:creator>Steve L.32</dc:creator>
    <dc:date>2017-11-10T15:17:54Z</dc:date>
    <item>
      <title>Dropbox authentication on iPhone X</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Dropbox-authentication-on-iPhone-X/m-p/252087#M14528</link>
      <description>&lt;P&gt;My App's Dropbox authentication is failing on iPhone X and iOS 11. I still do not know&amp;nbsp;the root cause and am just doing an initial inquiry here to learn if there is a known issue. &amp;nbsp;What I can say is this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1) authentication fails if the Dropbox App is installed&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2) authentication succeeeds if I remove the App and authentication goes through mobile Safari&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Does that ring any bells?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thankss,&lt;/P&gt;
&lt;P&gt;Steve&lt;/P&gt;</description>
      <pubDate>Wed, 29 May 2019 09:17:26 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Dropbox-authentication-on-iPhone-X/m-p/252087#M14528</guid>
      <dc:creator>Steve L.32</dc:creator>
      <dc:date>2019-05-29T09:17:26Z</dc:date>
    </item>
    <item>
      <title>Re: Dropbox authentication on iPhone X</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Dropbox-authentication-on-iPhone-X/m-p/252103#M14529</link>
      <description>&lt;P&gt;And the log error is:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;Auth Error: Error:[ErrorType: 6 ErrorDescription: Unable to verify link request&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Nov 2017 15:17:54 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Dropbox-authentication-on-iPhone-X/m-p/252103#M14529</guid>
      <dc:creator>Steve L.32</dc:creator>
      <dc:date>2017-11-10T15:17:54Z</dc:date>
    </item>
    <item>
      <title>Re: Dropbox authentication on iPhone X</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Dropbox-authentication-on-iPhone-X/m-p/252141#M14533</link>
      <description>&lt;P&gt;I'm not aware of any other reports like this, so we'll have to investigate. First, can you share:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;the version number of the&amp;nbsp;Dropbox SDK you're using&lt;/LI&gt;
&lt;LI&gt;the version number of the official Dropbox for iOS app you have installed&lt;/LI&gt;
&lt;LI&gt;your code snippets for initiating and&amp;nbsp;receiving the app authorization flow&lt;/LI&gt;
&lt;LI&gt;if this is &lt;EM&gt;only&amp;nbsp;&lt;/EM&gt;happening on iPhone X&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The "Unable to verify link request" error comes from here:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://github.com/dropbox/dropbox-sdk-obj-c/blob/6f40607f7d558a04f1330b84d8c8a0c960412409/Source/ObjectiveDropboxOfficial/Platform/ObjectiveDropboxOfficial_iOS/DBOAuthMobileManager-iOS.m#L122" target="_blank"&gt;https://github.com/dropbox/dropbox-sdk-obj-c/blob/6f40607f7d558a04f1330b84d8c8a0c960412409/Source/ObjectiveDropboxOfficial/Platform/ObjectiveDropboxOfficial_iOS/DBOAuthMobileManager-iOS.m#L122&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This error should indicate that the state value returned on the SDK auth URL doesn't match the one previously generated and stored in&amp;nbsp;NSUserDefaults for this app authorization flow.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To help debug that, you can try running this code inside application:openURL, just before you call&amp;nbsp;handleRedirectURL:&lt;/P&gt;
&lt;PRE&gt;    NSLog(@"handling URL: %@", url);
    static NSString *kDBLinkNonce = @"dropbox.sync.nonce";
    NSString *nonce = (NSString *)[[NSUserDefaults standardUserDefaults] objectForKey:kDBLinkNonce];
    NSLog(@"stored nonce: %@", nonce);
&lt;/PRE&gt;
&lt;P&gt;(Just be sure to redact the access token itself, if any, in the output before sharing.)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Fri, 10 Nov 2017 19:24:34 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Dropbox-authentication-on-iPhone-X/m-p/252141#M14533</guid>
      <dc:creator>Greg-DB</dc:creator>
      <dc:date>2017-11-10T19:24:34Z</dc:date>
    </item>
    <item>
      <title>Re: Dropbox authentication on iPhone X</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Dropbox-authentication-on-iPhone-X/m-p/252211#M14536</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://www.dropboxforum.com/t5/user/viewprofilepage/user-id/10"&gt;@Greg-DB&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;I'm not aware of any other reports like this, so we'll have to investigate. First, can you share:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;the version number of the&amp;nbsp;Dropbox SDK you're using&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Not sure exactly how to determine that (guessing 3.1.0), I found a plist file in the source, here it is:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screen Shot 2017-11-11 at 10.49.07 AM.png" style="width: 999px;"&gt;&lt;img src="https://www.dropboxforum.com/t5/image/serverpage/image-id/1787i533D52B7EA55CACD/image-size/large?v=v2&amp;amp;px=999" role="button" title="Screen Shot 2017-11-11 at 10.49.07 AM.png" alt="Screen Shot 2017-11-11 at 10.49.07 AM.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;the version number of the official Dropbox for iOS app you have installed&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This is a universal App, the Dropbox App version is the same for both iPad Air 2 and iPhone X: &amp;nbsp;70.2.2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;your code snippets for initiating and&amp;nbsp;receiving the app authorization flow&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;- (BOOL) handleOpenURL:(NSURL *)url {
    
    // From a generic App sending us a document = file://localhost/private/var/mobile/Applications/***/Documents/Inbox/CoronaEarlyAccess-3.pdf
    // From Dropbox, in particular, for authentication = db-***://1/cancel?(null)
    //                                                 = db-***://1/connect?uid=***&amp;amp;oauth_token_secret=***&amp;amp;oauth_token=***
    
#ifdef kDEBUG
    NSLog(@"################ handleOpenURL=%@, absoluteString=%@", url, [url absoluteString]);
#endif
    
    NSString *dropboxKeyURLLeadin = [NSString stringWithFormat:@"db-%@", kDropboxKey];
    if ( [[url absoluteString] hasPrefix:dropboxKeyURLLeadin] ) {

        NSLog(@"handling URL: %@", url);
        static NSString *kDBLinkNonce = @"dropbox.sync.nonce";
        NSString *nonce = [[NSUserDefaults standardUserDefaults] objectForKey:kDBLinkNonce];
        NSLog(@"stored nonce: %@", nonce);
                           
        DBOAuthResult *authResult = [DBClientsManager handleRedirectURL:url];
        if (authResult != nil) {
            if ([authResult isSuccess]) {
                NSLog(@"Success! User is logged into Dropbox.");
                self.canUseDropbox = YES;
                [self performSelector:@selector(refreshDropbox) withObject:nil afterDelay:1.0];
                return YES;
            } else if ([authResult isCancel]) {
                NSLog(@"Authorization flow was manually canceled by user!");
                self.canUseDropbox = NO;
                [[NSNotificationCenter defaultCenter] postNotificationName:kKryptonTurnDropboxOffNotification object:nil];
            } else if ([authResult isError]) {
                NSLog(@"Auth Error: %@", authResult);
                self.canUseDropbox = NO;
                [self synchUserDefaults];
                [[NSNotificationCenter defaultCenter] postNotificationName:kKryptonTurnDropboxOffNotification object:nil];
                [[NSNotificationCenter defaultCenter] postNotificationName:kKryptonUnlinkDropboxNotification object:nil];
            }
        }
        return NO;
        
    } else {
        
        if ( self.openInURLs == nil ) {
            self.openInURLs = [[NSMutableArray alloc] initWithCapacity:10];
        }
        [self.openInURLs addObject:url];
        [self performSelector:@selector(handleOpenURL2) withObject:nil afterDelay:1.0];
        return YES;
        
    }
	
} // end handleOpenURL
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;if this is &lt;EM&gt;only&amp;nbsp;&lt;/EM&gt;happening on iPhone X&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This is difficult to answer. &amp;nbsp;In the simulator there is no Dropbox App and authentication works on all devices. &amp;nbsp;For real devices I have an iPad Air 2 and authentication via web and App works fine. &amp;nbsp;My iPhone 7 is now gone and all I have is iPhoneX. &amp;nbsp;Web authentication works for it but not via the Dropbox App. &lt;EM&gt;Authentication via the app used to work on the iPhone 7 though.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The "Unable to verify link request" error comes from here:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://github.com/dropbox/dropbox-sdk-obj-c/blob/6f40607f7d558a04f1330b84d8c8a0c960412409/Source/ObjectiveDropboxOfficial/Platform/ObjectiveDropboxOfficial_iOS/DBOAuthMobileManager-iOS.m#L122" target="_blank"&gt;https://github.com/dropbox/dropbox-sdk-obj-c/blob/6f40607f7d558a04f1330b84d8c8a0c960412409/Source/ObjectiveDropboxOfficial/Platform/ObjectiveDropboxOfficial_iOS/DBOAuthMobileManager-iOS.m#L122&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This error should indicate that the state value returned on the SDK auth URL doesn't match the one previously generated and stored in&amp;nbsp;NSUserDefaults for this app authorization flow.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To help debug that, you can try running this code inside application:openURL, just before you call&amp;nbsp;handleRedirectURL:&lt;/P&gt;
&lt;PRE&gt;    NSLog(@"handling URL: %@", url);
    static NSString *kDBLinkNonce = @"dropbox.sync.nonce";
    NSString *nonce = (NSString *)[[NSUserDefaults standardUserDefaults] objectForKey:kDBLinkNonce];
    NSLog(@"stored nonce: %@", nonce);
&lt;/PRE&gt;
&lt;P&gt;(Just be sure to redact the access token itself, if any, in the output before sharing.)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Ok, here are the log entries and including mine to help trace the authentication flow. &amp;nbsp;First the iPad Air 2, which works, then iPhone X, which does not. &amp;nbsp;What stands out to me is that for iPhone X several Dropbox operation appear &lt;STRONG&gt;&lt;EM&gt;twice&lt;/EM&gt;&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also note that you can ignore the log entries concerning biometrics, at least I think you can. &amp;nbsp;The authentication issue exists with and without Face ID enabled.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;iPad:


2017-11-11 10:06:22.542097-0500 Krypton[531:143990] DBSDKReachability Flag Status: -R ------- networkStatusForFlags
2017-11-11 10:06:23.712286-0500 Krypton[531:143990] didEnterBackground
2017-11-11 10:06:25.991012-0500 Krypton[531:143990] +[CATransaction synchronize] called within transaction
2017-11-11 10:06:25.991841-0500 Krypton[531:143990] +[CATransaction synchronize] called within transaction
2017-11-11 10:06:25.992537-0500 Krypton[531:143990] +[CATransaction synchronize] called within transaction
2017-11-11 10:06:25.993148-0500 Krypton[531:143990] willEnterForeground
2017-11-11 10:06:26.009576-0500 Krypton[531:143990] DO BIOMETRICS IFF closed voew controller showing=&amp;lt;VaultClosedPadViewController: 0x13fd0b000&amp;gt;
2017-11-11 10:06:26.009722-0500 Krypton[531:143990]   OK DO BIOMETRICS
2017-11-11 10:06:26.033245-0500 Krypton[531:143990] handling URL: db-***://1/connect?oauth_token_secret=***&amp;amp;uid=***&amp;amp;oauth_token=oauth2%3A
2017-11-11 10:06:26.033338-0500 Krypton[531:143990] stored nonce: 56566428-71E4-4DA3-8629-A285598D9E50
2017-11-11 10:06:26.119131-0500 Krypton[531:143990] Success! User is logged into Dropbox.
2017-11-11 10:06:27.106473-0500 Krypton[531:143990] in doBiometrics touchIDInProgress=0
2017-11-11 10:06:27.116687-0500 Krypton[531:143990] evaluatePolicy now ...
2017-11-11 10:06:27.124749-0500 Krypton[531:144030] Biometrics failed, code=-1004, err=Error Domain=com.apple.LocalAuthentication Code=-1004 "User interaction is required." UserInfo={NSLocalizedDescription=User interaction is required.}

&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;OK, now for iPhone X:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;iPhone:


2017-11-11 10:08:32.282149-0500 Krypton[3157:759519] DBSDKReachability Flag Status: -R ------- networkStatusForFlags
2017-11-11 10:08:33.093590-0500 Krypton[3157:759519] didEnterBackground
2017-11-11 10:08:33.118068-0500 Krypton[3157:759519] DBSDKReachability Flag Status: -R ------- networkStatusForFlags
2017-11-11 10:08:37.385070-0500 Krypton[3157:759519] willEnterForeground
2017-11-11 10:08:37.445841-0500 Krypton[3157:759519] DO BIOMETRICS IFF closed voew controller showing=&amp;lt;VaultClosedViewController: 0x101f2a9e0&amp;gt;
2017-11-11 10:08:37.445961-0500 Krypton[3157:759519]   OK DO BIOMETRICS
2017-11-11 10:08:37.459372-0500 Krypton[3157:759519] handling URL: db-***://1/connect?oauth_token_secret=***&amp;amp;uid=***&amp;amp;oauth_token=oauth2%3A
2017-11-11 10:08:37.459425-0500 Krypton[3157:759519] stored nonce: 8156E9C8-7C1C-4EA7-9CA7-B6E8D53E113F
2017-11-11 10:08:37.460354-0500 Krypton[3157:759519] Auth Error: Error:[ErrorType: 6 ErrorDescription: Unable to verify link request.]
2017-11-11 10:08:37.461598-0500 Krypton[3157:759519] handling URL: db-***://1/connect?oauth_token_secret=***&amp;amp;uid=***&amp;amp;oauth_token=oauth2%3A
2017-11-11 10:08:37.462183-0500 Krypton[3157:759519] stored nonce: 8156E9C8-7C1C-4EA7-9CA7-B6E8D53E113F
2017-11-11 10:08:37.462264-0500 Krypton[3157:759519] Auth Error: Error:[ErrorType: 6 ErrorDescription: Unable to verify link request.]
2017-11-11 10:08:38.543166-0500 Krypton[3157:759519] in doBiometrics touchIDInProgress=0
2017-11-11 10:08:38.558830-0500 Krypton[3157:759519] evaluatePolicy now ...
2017-11-11 10:08:38.566033-0500 Krypton[3157:759957] Biometrics failed, code=-1004, err=Error Domain=com.apple.LocalAuthentication Code=-1004 "User interaction is required." UserInfo={NSLocalizedDescription=User interaction is required.}
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks!&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Sat, 11 Nov 2017 16:13:45 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Dropbox-authentication-on-iPhone-X/m-p/252211#M14536</guid>
      <dc:creator>Steve L.32</dc:creator>
      <dc:date>2017-11-11T16:13:45Z</dc:date>
    </item>
    <item>
      <title>Re: Dropbox authentication on iPhone X</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Dropbox-authentication-on-iPhone-X/m-p/252228#M14537</link>
      <description>&lt;P&gt;In the DB code you pointed to there is an if() in function&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;            if (state.count == 2 &amp;amp;&amp;amp; [state[0] isEqualToString:@"oauth2"] &amp;amp;&amp;amp; [state[1] isEqualToString:nonce]) {
&lt;/PRE&gt;
&lt;P&gt;state.count is == 2, state[0] is == "oauth2", but state[1] is != nonce. Do not know what it means at this point, but that is the failure.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 11 Nov 2017 22:24:24 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Dropbox-authentication-on-iPhone-X/m-p/252228#M14537</guid>
      <dc:creator>Steve L.32</dc:creator>
      <dc:date>2017-11-11T22:24:24Z</dc:date>
    </item>
    <item>
      <title>Re: Dropbox authentication on iPhone X</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Dropbox-authentication-on-iPhone-X/m-p/252230#M14538</link>
      <description>&lt;P&gt;Wasn't finished with last post, continuing:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I assume the real problem is that&amp;nbsp;&lt;STRONG&gt;&lt;SPAN class="pl-en"&gt;extractfromDAuthURL&lt;/SPAN&gt;&lt;SPAN class="pl-en"&gt;:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN class="pl-smi"&gt;&lt;STRONG&gt;url&lt;/STRONG&gt; is called twice and thus the stored &lt;EM&gt;nonce&lt;/EM&gt; doesn't match the current &lt;EM&gt;nonce&lt;/EM&gt;. Also, I munged the&amp;nbsp;&lt;SPAN&gt;redaction in the log entries previously, so here they are again.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;2017-11-11 17:32:29.380496-0500 Krypton[3454:894607] DBSDKReachability Flag Status: -R ------- networkStatusForFlags
2017-11-11 17:32:30.189937-0500 Krypton[3454:894607] didEnterBackground
2017-11-11 17:32:30.205156-0500 Krypton[3454:894607] DBSDKReachability Flag Status: -R ------- networkStatusForFlags
2017-11-11 17:32:30.532935-0500 Krypton[3454:894607] [Snapshotting] Snapshotting a view (0x104005c00, UIKeyboardImpl) that is not in a visible window requires afterScreenUpdates:YES.
2017-11-11 17:32:31.573593-0500 Krypton[3454:894607] willEnterForeground
2017-11-11 17:32:31.590287-0500 Krypton[3454:894607] in viewwillappear call randomizecombination
2017-11-11 17:32:31.646979-0500 Krypton[3454:894607] handling URL: db-***://1/connect?oauth_token_secret=***&amp;amp;state=oauth2%3A9C3186A0-0DAF-48F3-8D70-F98E86DBE839&amp;amp;uid=***&amp;amp;oauth_token=oauth2%3A
2017-11-11 17:32:31.647129-0500 Krypton[3454:894607] stored nonce: 9B60EAE8-003D-40D6-AEF7-4BC8620372C8
2017-11-11 17:32:31.647267-0500 Krypton[3454:894607] Auth Error: Error:[ErrorType: 6 ErrorDescription: Unable to verify link request.]
2017-11-11 17:32:31.648096-0500 Krypton[3454:894607] handling URL: db-***://1/connect?oauth_token_secret=***&amp;amp;state=oauth2%3A9C3186A0-0DAF-48F3-8D70-F98E86DBE839&amp;amp;uid=***&amp;amp;oauth_token=oauth2%3A
2017-11-11 17:32:31.648217-0500 Krypton[3454:894607] stored nonce: 9B60EAE8-003D-40D6-AEF7-4BC8620372C8
2017-11-11 17:32:31.648301-0500 Krypton[3454:894607] Auth Error: Error:[ErrorType: 6 ErrorDescription: Unable to verify link request.]
&lt;/PRE&gt;
&lt;P&gt;Thus we see that the stored &lt;EM&gt;nonce&lt;/EM&gt; is not the same as what's presented in the URL. &amp;nbsp;This is on iPhone X only, on iPad Air 2 those data match and authentication succeeds. &amp;nbsp;I will continue to see if I've broken my own code with iPhone X mods, but it's not obvious that they could have any impact ... famous last words, eh?!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Again, I see the log message &lt;STRONG&gt;DBSDKReachability&lt;/STRONG&gt; twice for iPhone X but once for iPad. &amp;nbsp;I also see the call to &lt;STRONG&gt;&lt;SPAN class="pl-en"&gt;extractfromDAuthURL&lt;/SPAN&gt;&lt;SPAN class="pl-en"&gt;:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN class="pl-smi"&gt;&lt;STRONG&gt;url&lt;/STRONG&gt;&lt;/SPAN&gt;&amp;nbsp;twice for iPhone X but only once for iPad.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And NOW I figured it out: for iPhone X I am calling&amp;nbsp;&lt;STRONG&gt;&lt;SPAN style="font-family: inherit;"&gt;authorizeFromController:&lt;/SPAN&gt;&lt;SPAN style="font-family: inherit;"&gt;controller:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN style="font-family: inherit;"&gt;&lt;STRONG&gt;openURL&lt;/STRONG&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-family: inherit;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-family: inherit;"&gt;twice! When I artificially limit the call to just once authentication works. The call in inside &lt;STRONG&gt;viewDidAppear:animated&lt;/STRONG&gt;. For iPad the view must not disappear when the Dropbox App is run, but for iPhone X there is a second call to &lt;STRONG&gt;viewDidAppear:animated&lt;/STRONG&gt;&amp;nbsp;which I do not understand.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: inherit;"&gt;Now off to grok some more on what to do ....&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 11 Nov 2017 23:38:42 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Dropbox-authentication-on-iPhone-X/m-p/252230#M14538</guid>
      <dc:creator>Steve L.32</dc:creator>
      <dc:date>2017-11-11T23:38:42Z</dc:date>
    </item>
    <item>
      <title>Re: Dropbox authentication on iPhone X</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Dropbox-authentication-on-iPhone-X/m-p/252384#M14544</link>
      <description>Thanks for digging in and tracking this down already! I'm glad to hear you figured this out. Calling authorizeFromController twice would indeed cause this. Enforcing a single call is the right thing to do given the unexpected viewDidAppear behavior.</description>
      <pubDate>Mon, 13 Nov 2017 16:08:02 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Dropbox-authentication-on-iPhone-X/m-p/252384#M14544</guid>
      <dc:creator>Greg-DB</dc:creator>
      <dc:date>2017-11-13T16:08:02Z</dc:date>
    </item>
    <item>
      <title>Re: Dropbox authentication on iPhone X</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Dropbox-authentication-on-iPhone-X/m-p/252417#M14550</link>
      <description>&lt;P&gt;&lt;SPAN&gt;I've restructured the Dropbox authentication flow slightly in light of the iPhone / iPad differences I found. I’ve used Dropbox in this App since 2011, so I’m surprised I didn’t see this issue earlier, although I must note that the &lt;/SPAN&gt;&lt;STRONG&gt;viewDidAppear:animated&lt;/STRONG&gt;&lt;SPAN&gt; code was added 2017.05.22 - this was my great API 1 --&amp;gt; API 2 commit! &amp;nbsp;This Dropbox App vs. Dropbox web authentication issue might have really existed for the last 6 months and I never noticed it. &amp;nbsp;I’ll have a definitive answer whenever I can borrow a non-iPhone X and see if&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;viewDidAppear:animated&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;is invoked once or twice.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thanks again for your help.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Nov 2017 18:45:52 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Dropbox-authentication-on-iPhone-X/m-p/252417#M14550</guid>
      <dc:creator>Steve L.32</dc:creator>
      <dc:date>2017-11-13T18:45:52Z</dc:date>
    </item>
  </channel>
</rss>

