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 (egOktaOneLogin…)​
  • 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
Was this article helpful?
0 out of 0 found this helpful