Technical architecture of the Powell app

Infrastructure

Available on the Apple store and Google play store, Powell apps authenticate users through tenant sign-on infrastructure (Microsoft only or SSO provider)‚Äč

Application configuration is requested to Powell CDN servers after authentication

mceclip0.png

Frameworks and libraries

Component name‚Äč

Version‚Äč

License‚Äč

Description‚Äč

Xamarin.Forms‚Äč

4.0.0.540366‚Äč

MIT‚Äč

An open-source framework for building iOS, Android¬†and Windows apps‚Äč

Mono.Android‚Äč

4.0.30319‚Äč

MIT‚Äč

Xamarin SDK to build iOS apps¬†‚Äč

Xamarin.iOS‚Äč

4.0.30319‚Äč

MIT‚Äč

Xamarin SDK to build Android apps¬†‚Äč

Prism.DryIoc.Forms‚Äč

7.1.0.431‚Äč

MIT‚Äč

Prism is a framework for building loosely coupled and maintainable apps‚Äč

AutoMapper‚Äč

8.1.1‚Äč

MIT‚Äč

Mapping DTO objects to business objects‚Äč

Com.Airbnb.Xamarin.Forms.Lottie‚Äč

2.7.1‚Äč

Apache License‚Äč

Loading animations‚Äč

Flurl‚Äč

2.8.2‚Äč

MIT‚Äč

Fluent HTTP client library¬†‚Äč

Microsoft.AppCenter‚Äč

2.1.1‚Äč

Commercial‚Äč

Push notification management and app deployment for testing purposes‚Äč

modernhttpclient‚Äč

2.4.2‚Äč

MIT‚Äč

HTTP client implementation for iOS and Android‚Äč

MonkeyCache.FileStore‚Äč

1.3.0‚Äč

MIT‚Äč

Caching server data and user settings‚Äč

Newtonsoft.Json‚Äč

12.0.2‚Äč

MIT‚Äč

Json.NET is a popular high-performance JSON framework for .NET‚Äč

Prism.Plugin.Popups‚Äč

2.2.0.293‚Äč

MIT‚Äč

Handling popup views with Prism framework‚Äč

Refractored.XamForms.PullToRefresh‚Äč

2.4.1‚Äč

MIT‚Äč

Showing loading animation on web views¬†while user pulling down the view‚Äč

SkiaSharp.Views.Forms‚Äč

1.68.0‚Äč

MIT‚Äč

Famous cross-platform 2D graphics API‚Äč

Xam.Plugin.Connectivity‚Äč

3.2.0‚Äč

MIT‚Äč

Knowing internet connection status‚Äč

Xam.Plugin.Iconize‚Äč

3.5.0.123‚Äč

Apache License‚Äč

Using icon fonts with Xamarin‚Äč

Xamarin.FFImageLoading‚Äč

2.4.11.982‚Äč

MIT‚Äč

Caching images and adding transformations to them‚Äč

 

Authentication

App consent¬†‚Äč

Powell apps has to be authorized over Azure Active Directory.

  • A consent link is available on Powell Manager for administrators‚Äč
  • Consent¬†has to¬†be done before app deployment

Authentication‚Äč

Powell Apps only requires only one successful authentication ‚Äč

  • Authentication is stored until the user logout ‚Äč
  • The app can be closed and reopened without user authentication‚Äč
  • Microsoft authentication settings supported (MFA, Microsoft¬†Authenticator)

Single Sign-On (SSO)

‚ÄčSSO shares centralized authentication servers that all other applications and systems use for authentication‚Äč

  • Powell Apps supports SSO providers¬†connected to the Microsoft¬†authentication¬†process (eg:¬†Okta,¬†OneLogin‚Ķ)‚Äč
  • The same user experience¬†has standard Microsoft¬†authentication

Graph API access

‚ÄčApp consent grants access to several user information from Microsoft Graph API‚Äč

  • If Powell Apps requests are forbidden, UI will be adapted to hide¬†objects linked to forbid data

Conditional Access Policy

Our application integrates a Webview (embedded browser) to display your intranet pages, but unfortunately, this component does not support device compliance-related conditional access rules.

But you can exclude the following apps from your rule to avoid this limitation:
- "Office365" => Authentication form
- "Powell365 - Mobile App"
- "Powell-GraphAPI" or "Powell Intranet" 

Was this article helpful?
0 out of 0 found this helpful