iOS: universal link cannot pass the test on apple website - ios

I upload apple-app-site-association(AASA) file on my website and trying pass validation test on Apple validator tool,
but It return me error:
http://example.com is returning 503. Please check your url and try again.
{
"applinks": {
"apps": [],
"details": [
{
"appID": "XXXXXXXXXX.com.XXXXXX.iosapp",
"paths": [ "*" ]
}
]
}
}
This file is uploaded on root folder and also .well-knows/ folders
like this -> https://www.example.com/.well-known/apple-app-site-association

503 means that your web site was not available or server returned error to test tool at the time of check. It may be due to some servers or connection errors at the time of checking. But out of the blue, you also may want to check:
does your website handles HTTPS ? AASA file needs to be accessible via HTTPS—without any redirects
is your .well-known folder accessible for web server? To test enter whole link to it in browser
check if you don't have any .htaccess or IP filtering rules that may prevent test tool access the file, even though you can access the file correctly from your location

Related

Logging via email with Serilog (.NET 6.0)

I am working on a web app where we are trying to configure logging using Serilog and using email as a log delivery system.
In my Program.cs file, I have
builder.Host.UseSerilog((ctx, lc) => lc
.ReadFrom.Configuration(ctx.Configuration));
In my appsettings.json file, I have two WriteTo's: one to a local file on my machine and one to email.
The WriteTo file option is working just fine as the program stands today; when running the code in VS2022, it logs the information to the file location specified in my appsettings.json file. The WriteTo email option is not working at all, I am not receiving any emails despite logs being written successfully to the local file.
The WriteTo for email is configured as follows (with identifying information removed):
{
"Name": "EmailCustom",
"Args": {
"enableSsl": false,
"fromEmail": "appname#ourorg.com",
"mailServer": "ourmailserver.ourorg.com",
"mailSubject": "Error in App",
"smtpPort": 25,
"toEmail": "myemail#ourorg.com"
}
}
I have looked far and wide, and have not seen anyone else bring up this issue or have an example of an email configuration listed. Has anyone successfully set up email logging with Serilog in .NET 6.0 who can help me out? Thanks!
The same topic: Serilog WriteTo.Email() failing
It seems that Serilog.Sink.Email uses old version of MailKit

ipRestrictions not working in Grails 3.3.10?

I can't get ipRestrictions to work via springsecurity.
I'm working with a bare app to try and isolate the issue with Grails 3.3.10 and spring-security-core 3.2.0.
Eventually I want to restrict access to a web service to a limited subnet. But in an attempt to get this to work I'm just trying to find any case that will get rejected.
I'm working with a stock create-app application but I've added the following to build.gradle to pull in spring-security:
compile 'org.grails.plugins:spring-security-core:3.2.0'
My application.groovy to configure this is:
grails.plugin.springsecurity.rejectIfNoRule = false
grails.plugin.springsecurity.fii.rejectPublicInvocations = false
grails.plugin.springsecurity.ipRestrictions = [
[pattern: '/**', access: '172.16.0.1']
]
I'm expecting to see something like a 401 Unauthorized or 403 Forbidden.
IP Address Restrictions don't apply to requests coming from localhost. This is to "help" local development but subsequently makes testing your restrictions more difficult. There is a confusingly worded note at the bottom of section 18 of the docs that should start "All patterns can always be accessed from localhost regardless of IP address":
All addresses can always be accessed from localhost regardless of IP pattern, primarily to support local development mode.

No matching service worker detected: webapp running in sub-directory

I'm getting the follow error-msg in the console when I try to 'add to homescreen'
Site cannot be installed: no matching service worker detected. You may need to reload the page, or check that the service worker for the current page also controls the start URL from the manifest
Register the service-worker did went fine and seems to be ok:
chrome application-Service Worker
It must something to do with the scop since I'm running my site in a sub-domain(/webconnect/):
The manifest has the following values for scope and start_url:
"scope": "/webconnect/"
"start_url": "/webconnect/index.html"
I've gone through the troubleshoot section but this didn't helped me a lot:
Troubleshooting
If after testing you are getting the following error in your console:
No matching service worker detected. You may need to reload the page, or check that the service worker for the current page also controls the start URL from the manifest
Then please make sure that 1. Your service worker is functioning properly and without errors, and 2. Your start_url matches an actual url of your website that loads. Else, you will never get the prompt to show!
Is there a specific trcik I'm missing to add the site to the homepage?
Place the service worker script file at the root of your website (/webconnect/), or place it wherever you want and use the scope property and the Service-Worker-Allowed HTTP header as in my other answer.

Can iOS universal app link support multiple apps using the same domain?

Background:
Building a vanilla app for multiple clients.
Same code base with different bundle ids, i.e.:
com.company.client1
com.company.client2
Want to support all client builds with the same universal app link, i.e.:
company.com/app/path
Tried to add this to the 'apple-app-site-association' file
'apple-app-site-association' file:
{"applinks": {"apps": [],"details": [
{"paths": ["/app/*"],"appID": "XXXXXXXXXX.com.company.client1"},
{"paths": ["/app/*"],"appID": "XXXXXXXXXX.com.company.client2"}]}
Is this a limitation from apple?
This is possible. There is no limitation from Apple on Universal Links for multiple apps on the same domain.
It appears your apple-app-site-association is malformed. You need it to look like this:
{
"applinks": {
"apps": [ ],
"details": [
{
"appID": "XXXXXXXXXX.com.company.client1",
"paths": [
"/app/*"
]
},
{
"appID": "XXXXXXXXXX.com.company.client2",
"paths": [
"/app/*"
]
}
]
}
}
Note the order of the appID and paths keys, and the final closing }.
You will also run into issues with this setup if more than one app is installed, since they're all registering for the same paths. You may want to consider adding a unique ID to each one, such as /app/client1/*.
Another important note is that Universal Links don't work in many situations so this is not a complete deep linking solution (despite Apple's wishful claims to the contrary). If you want a simpler deep linking approach that will easily handle a multi-app requirement like this, take a look at Branch.io (full disclosure: I'm on the Branch team).

Can i make Testing or Remote server in sublime3 like dreamweaver

I recently started using Sublime Text 3. I always save my web development work in USB drive.
Can I make Testing or Remote server in sublime3 like Dreamweaver
Mean's Sublime3 save my Testing or Remote (connection = local/network) Server Folder in C:\xampp\htdocs\TestSite\
and
Local Site Folder save in USB Drive e.g. x:\TestSite\
and I able to put and get files like Dreamweaver
How can I do this? I will greatly appreciate any helpful suggestion.
Synchronize Update Remote Server Files (Local/Network)
Install package SublimeSimpleSync with package control in sublime3,
After Installation go and open Preference>Package Setting>SublimeSimpleSync a file and ADD THIS CODE & SAVE
{
"config":
{
"autoSync": true,
"debug": false,
"timeout": 10
},
"rules":
[
{
"type" : "local",
// Apache Server Folder
"local" : "C:\\xampp\\htdocs\\TestSite\\",
// Local Site Folder save in USB Drive
"remote" : "N:\\TestSite\\"
}
]
}
This package {SublimeSimpleSync} use to update your USB folder files when you edit and save in Apache server Folder...
View In Browser {Configure to View on Local Server}
Install another package View In Browser with package control in sublime3, After Installation open sublime project file e.g. "TestSite.sublime-project" and ADD THIS CODE & SAVE
"settings":
{
"sublime-view-in-browser":
{
"baseUrl": "http://localhost:8080\\",
"basePath": "C:\\xampp\\htdocs\\"
}
}
Here localhost can be root URL or IP and 8080 is port no.
Now open a page in sublime (which you want to render in sever) and right click and in menu click View in Browser
Live Preview In Google Chrome Browser
For Live preview in Google Chrome search Extension LivePage in chrome web store and install it. Its is very use full for most up-to-date version of a loaded web page when you change in editor.

Resources