diff --git a/.env_example b/.env_example index 499b6f6a..64438e69 100644 --- a/.env_example +++ b/.env_example @@ -28,3 +28,6 @@ OIDC_RSA_PRIVATE_KEY=CHANGE_ME # Activity configuration TRUSTED_ACTIVITY_MAIL= ACTIVITY_EMAIL_MANAGER= + +# App Store App ID +APP_STORE_APP_ID=P5246D3AFQ.org.crans.bde.note diff --git a/note_kfet/urls.py b/note_kfet/urls.py index 733e3bb7..0283debb 100644 --- a/note_kfet/urls.py +++ b/note_kfet/urls.py @@ -8,7 +8,7 @@ from django.views.defaults import bad_request, permission_denied, page_not_found from member.views import CustomLoginView from .admin import admin_site -from .views import IndexView +from .views import IndexView, apple_app_site_association urlpatterns = [ # Dev so redirect to something random @@ -33,6 +33,9 @@ urlpatterns = [ path('accounts/', include('django.contrib.auth.urls')), path('api/', include('api.urls')), path('permission/', include('permission.urls')), + + # Apple App Site Association + path('.well-known/apple-app-site-association', apple_app_site_association), ] # During development, serve static and media files diff --git a/note_kfet/views.py b/note_kfet/views.py index 9ea86d30..e8f9f019 100644 --- a/note_kfet/views.py +++ b/note_kfet/views.py @@ -6,6 +6,8 @@ from django.urls import reverse from django.views.generic import RedirectView from note.models import Alias from permission.backends import PermissionBackend +from django.http import JsonResponse +import os class IndexView(LoginRequiredMixin, RedirectView): @@ -28,3 +30,13 @@ class IndexView(LoginRequiredMixin, RedirectView): # Non-Kfet members will don't see the transfer page, but their profile page return reverse("member:user_detail", args=(user.pk,)) + +def apple_app_site_association(request): + data = { + "webcredentials": { + "apps": [ + os.getenv("APP_STORE_APP_ID") + ] + } + } + return JsonResponse(data)