You might see that the Dropbox Community team have been busy working on some major updates to the Community itself! So, here is some info on what’s changed, what’s staying the same and what you can expect from the Dropbox Community overall.

Forum Discussion

phunction's avatar
phunction
Explorer | Level 4
12 months ago

iOS 17.x can no longer login and allow dropbox access on app

i, something has changed with iOS 17.  My app is using the DropboxClient() api to get an auth token, which would show safari and ask for a login.

The login works, and they will get the question if they want to allow my app access. When they click on Allow, they now get the error:

Safari can't open the page because it couldn't connect to the server.

 

I was using the redirect uri of "http://localhost/authorize"

 

 

 

private const string RedirectUri = "http://localhost/authorize";
var authorizeUri = DropboxOAuth2Helper.GetAuthorizeUri(OAuthResponseType.Code, appKey, RedirectUri, state: state, tokenAccessType: TokenAccessType.Offline);

 

 

 

 

This was working fine until iOS 17 came out. 

Does anyone know how to fix this? It appears that iOS 17 no longer allows safari to connect to localhost?

 

I am using c# (xamarin/maui) for iOS.

  • It looks like this is more about iOS and its interaction with local servers/Xamarin, as opposed to the Dropbox API itself. You may be better served by referring to resources about iOS or Xamarin for help with this.

     

    For instance, I found this thread which may be helpful.

    • phunction's avatar
      phunction
      Explorer | Level 4

      It appears HttpListener is the issue, is there another way to use Dropbox in my app? Or to at least authorize the app, because it does work fine on iOS 17 if the app has already been authorized/logged in with iOS 16

      • Greg-DB's avatar
        Greg-DB
        Icon for Dropbox Staff rankDropbox Staff

        phunction As Здравко said, you can omit the redirect URI entirely, in which case the user will be presented with the authorization code directly so they can manually copy/paste it into the app.

         

        Otherwise, to use a redirect URI if you can't use a server, you can use a redirect URI with a custom URL scheme for your app, if you use PKCE in the app authorization flow. A redirect URI with a custom URL scheme would look something like "customappscheme://auth"; you would need to decide on and set the exact strings you want to use and configure that for your app. Refer to your platform's documentation for information on defining and using custom schemes like that.

About Dropbox API Support & Feedback

Node avatar for Dropbox API Support & Feedback

Find help with the Dropbox API from other developers.

5,888 PostsLatest Activity: 17 hours ago
326 Following

If you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X or Facebook.

For more info on available support options for your Dropbox plan, see this article.

If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!