GTMAppAuth icon indicating copy to clipboard operation
GTMAppAuth copied to clipboard

Issues with OIDExternalUserAgent when requesting OIDAuthState

Open ShayeebWar opened this issue 4 years ago • 2 comments

I switched to GTMAppAuth from AppAuth iOS as it hasn't been updated for a long time. I am struggling to get the OIDAuthState: Earlier i used to get it as follows:

OIDAuthState.authState(byPresenting: request, presenting: self) { authState, error in if let authState = authState, let accessToken = authState.lastTokenResponse?.accessToken

But now with the GTMAppAuth library it is asking for one more parameter external user agent as follows:

OIDAuthState.authState(byPresenting: request, externalUserAgent: self, callback: { state, error in })

And it is giving me errors with this parameter. I'm not sure why that parameter is in the call as there is no mention of it in the documentation and what to pass in external user agent? Can you please help me with this?

ShayeebWar avatar Sep 15 '21 11:09 ShayeebWar

@petea Can you help me with this?

ShayeebWar avatar Sep 16 '21 05:09 ShayeebWar

This sounds like an AppAuth rather than a GTMAppAuth issue. If you're not using GTMAppAuth classes you should depend directly on AppAuth rather than getting it transitively via a GTMAppAuth dependency.

If you're building for iOS, the method you mention using previously should be available via the OIDAuthState+iOS category. However, GTMAppAuth depends on AppAuth/Core which is a subset of AppAuth that does not include the OIDAuthState+iOS category. Returning to a direct dependency on AppAuth should solve your problem.

petea avatar Sep 23 '21 07:09 petea