Failing to get debug app check token for iOS - ios

I'm closely following app check documentation in order to use debug token, however instead of seeing it logged out in the console I see following error (when running in debug simulator from xcode)
EDIT: Everything works as expected in testflight / real device build
EDIT 2: Created related github issue
[Firebase/AppCheck][I-FAA004002] Failed to exchange debug token to app check token: Error Domain=com.firebase.appCheck Code=0 "The server responded with an error:
- URL: https://firebaseappcheck.googleapis.com/v1beta/projects/[my-project-id]/apps/1:[sensitive-data]:ios:[sensitive-data]:exchangeDebugToken
- HTTP status code: 403
- Response body: {
"error": {
"code": 403,
"message": "App attestation failed.",
"status": "PERMISSION_DENIED"
}
}
Thus far I've implemented following steps, but had no luck
Enabled both attestation providers for my ios project (App Attest got enabled automatically when I added my team id)
Added FIRAppCheckDebugProviderFactory in my code i.e.
#if DEBUG
FIRAppCheckDebugProviderFactory *providerFactory = [[FIRAppCheckDebugProviderFactory alloc] init];
[FIRAppCheck setAppCheckProviderFactory:providerFactory];
#endif
[FIRApp configure];
Added -FIRDebugEnabled to my debug run launch arguments in schema
Added AppCheck capability to my target and set .entitlements App Attest environment to production

This was resolved upstream via addition to documentation
https://github.com/firebase/firebase-ios-sdk/issues/9547#issuecomment-1097424478
In short
The very first time app is installed / started it logs debug token
Once debug token is logged it should be added in firebase dashboard
After this all subsequent launches of the app reuse debug token that was logged initially
If initial token was not added to firebase console a 403 error will be thrown as app is using unverified token

You must also enable Manage Debug Tokens
, this link and pic can help you:
https://firebase.google.com/docs/app-check/ios/debug-provider?authuser=0&hl=en

Related

Unable to create a debug Token or sign bar files

The signing and debug token server has been down for more than a week and always getting "Error: Server returned HTTP response code: 502 for URL: http://www.rim.net/Websigner/servlet/......" message.
Sadly, It is impossible to build and develop apps for BB10 devices without debug tokens.
Is there any other way to get a debug token or sign bar files ?
Note: I am using Momentics IDE
Thank you

Apple Wallet Pass local development with http url

I finished setting up the webservice routes according to Apple documentation and I am able to sign and provide passes. Unfortunately I am experiencing the following problem. When I define the webServiceUrl as "https://localhost:5000/wallet/" the signing of the pass works as expected. I am then using the pass in the iOS Simulator where I have enabled the "Allow Http Services" in the developer settings but I am still getting the "An SSL error has occurred and a secure connection to the server cannot be made" error. Trying then to use http instead of https directly in the definition of the webServiceUrl in the pass.json file produces a signing error. Do you know which steps have to be made to be able to test pass updates locally?
The warning is telling you everything you need to know.
Change your webServiceUrl to http://localhost:5000/wallet/. The developer option means that you don't have to use https and the pass should still install on any device with "Allow Http Services" set.

Azure Mobile Apps Facebook Authentication stopped working

I'm using Azure Mobile Apps with the .NET SDK as a backend for my iOS app. The authentication done via Facebook. Yesterday out of nowhere (no code changes either on backend or app) the authentication with Facebook failed. The login inside the iOS client app is done via
self.client?.login(withProvider:"facebook", token: ["access_token" : FBSDKAccessToken.current().tokenString] ){ (user, error) in }
By calling this function I'm getting the following result, on the client.
Error Domain=com.Microsoft.MicrosoftAzureMobile.ErrorDomain Code=-1302 "You do not have permission to view this directory or page."
By inspecting the streaming logs of Azure Mobile Apps, I found out that the backend gets an Unauthorized 401.71 return back from calling the Facebook Graph API.
Streaming Log:
Microsoft.Azure.AppService.Authentication Verbose: 0 : Received request: POST https://XXXXXXXXXX.azurewebsites.net/.auth/login/facebook
'w3wp.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'D:\Windows\Microsoft.Net\assembly\GAC_MSIL\SMDiagnostics\v4.0_4.0.0.0__b77a5c561934e089\SMDiagnostics.dll'. Skipped loading symbols.
'w3wp.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'D:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Internals\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Internals.dll'. Skipped loading symbols.
Microsoft.Azure.AppService.Authentication Verbose: 0 : Calling into external HTTP endpoint GET https://graph.facebook.com/oauth/access_token.
Microsoft.Azure.AppService.Authentication Information: 0 : Sending response: 401.71 Unauthorized
I already tried cloning the Mobile App in Azure and creating a new Facebook App, without success.
for other users affected by this issue - I will quote the official answer from the MSDN Thread
TL;DR
Hotfix applied - App Restart Required
** UPDATE 3/28/2017 ** We're in the process of rolling out a rapid hotfix for affected apps worldwide. The hotfix mechanism will require
you to restart your app backend. You can do this using the Azure
Portal, the Azure Management CLI, or the App Service Mobile Companion
app for iOS and Android. Once restarted, please verify that your
Facebook logins are working again.
West US: Hotfix applied. Please restart your app. Other Regions:
Pending
I have the same problem, it stopped working yesterday without any code change.
I have tried to call the azure azure facebook authentication from rest client.
I get the same result as from the app, 401, and no additional information.
https://appname.azurewebsites.net/.auth/login/facebook
{
"access_token": "token Obtained after athorizing with facebook",
}
I have tried calling the facebook api from a rest client and it works.
https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=SECRET_APP_ID&grant_type=fb_exchange_token&fb_exchange_token=ACCESS_TOKEN
My guess is that they changed something in azure web apps and broke the facebook authentification.
Please let me know if you find any solution.
This should be rolled out now. If you have any further questions see the MSDN thread from above: https://social.msdn.microsoft.com/Forums/azure/en-US/397f6952-57bf-4c28-b383-6bba08d28f9a/facebook-login-failures-with-app-service-authentication-authorization?forum=windowsazurewebsitespreview

Linked in integration authentication error

I have performed the steps described above on LinkedIn Web site is authenticated and try the sample application Any help would be appreciated. The purpose is to verify the application I use LinkedIn to build credentials
I have executed the steps as mentioned on the LinkedIn website for authentication and trying out the sample app getting error...
failed for URL: "linkedin: // authorize" - error :
"This app is not allowed to Query for scheme linked"
Please show some code related to your question ...
Have you added your bundle identifier in LinkedIn developer account ?
Have you set application transport security related things in .plist URL scheme ?

PayPal SDK iOS - Login always return INTERNAL_SERVICE_ERROR (500)

After successfully integrating iOS PayPal SDK and testing with no-network mode, I created some test users in the app dashboard and switched to sandbox mode. When I try to login I always get this INTERNAL_SERVICE_ERROR as below:
PayPal SDK: Request has failed with error: INTERNAL_SERVICE_ERROR -
System error. Please try again later. (500) | PayPal Debug-ID:
003f3b97339c5 [sandbox, PayPal iOS SDK 2.8.1]
I gave it some time, even a day as the description tell me to try again later but the failure persists. Is there any additional step I should be doing? Or maybe this is not related to my end?
A 500 response indicates a bug in the PayPal backend. In general, debug IDs should be sent to [https://www.paypal.com/mts](merchant support). They can examine the logs for more information and file a problem report with the appropriate internal team.
However, I will bring this case to their attention.
This particular error has to do with your buyer account not being completely set up according to the country it's registered with. Your buyer account needs a Tax ID set up on it in order to be able to process. As for the 500 Error, this was corrected shortly after you posted the question so that a more appropriate error is returned.

Resources