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

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