Urgent.News

What's breaking now, across thousands of outlets.

Tech

Entra External ID Login in Ionic: One Capacitor Plugin for iOS, Android and Web

Adding sign-in to a hybrid app gets painful fast when you target Microsoft Entra External ID on iOS, Android and the web at once. The browser needs a redirect flow, iOS needs Keychain set up correctly, and Android wants a signature hash written in two different encodings. I built @nativelement/capacitor-msal-entra to hide that behind four calls: signIn , acquireTokenSilent , getAccount and…

Building a single Capacitor plugin, @nativelement/capacitor-msal-entra, simplifies adding Microsoft Entra External ID sign-in to hybrid apps across iOS, Android, and web platforms. This plugin abstracts away the complexities of implementing sign-in, token acquisition, account retrieval, and sign-out functions. It wraps MSAL Android, MSAL iOS, and @azure/msal-browser to provide secure token caching and silent renewal for a seamless user experience.

The tutorial outlines critical details like the Android signature hash encoding in msal_config.json versus raw encoding in the manifest, and the critical Keychain entitlement for iOS. It also explains why the signIn() method fails on the web and how to restore the session upon app startup. The plugin also addresses the case-sensitive domainHint and provides a comprehensive table of potential issues, their causes, and solutions.

The tutorial includes an Angular auth service, guard, and HTTP interceptor, along with backend token validation.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

AirPods Aren’t Just Earbuds: The Tiny Computers, Chips, and Beats Deal Behind Apple’s Audio Revolution

A look inside the technology, the 2014 Beats acquisition, the engineering tradeoffs, the community reaction, and the business behind Apple’s most ubiquitous earbuds.

  • AirPods contain radio, processor, microphones, sensors, battery, amplifier, and speaker driver.
  • Beats acquisition in 2014 provided Apple with audio expertise and consumer brand.
  • AirPods' advanced features include Adaptive EQ, Spatial Audio, and H2 chip.

Dynoxide 1.3.0: security fixes and fussier pagination

Dynoxide 1.3.0 ended up a bit bigger than I'd planned. Working through the compatibility fixes turned up some DynamoDB behaviour I hadn't expected, and I also fixed two security issues that needed…

  • Dynoxide 1.3.0 includes security fixes for DynamoDB behavior and token-related issues
  • High-severity parsing error now triggers syntax error instead of panic
  • Pagination rules updated with stricter DynamoDB token matching requirements

Your Agent Wrapped the Whole Function in try/catch and Called It Error Handling

The pattern that shows up in every agent PR You paste a stack trace into your agent. Twenty seconds later it comes back with a diff like this: def get_user_profile ( user_id ): try : row = db .

  • Try/catch blocks in functions labeled as error handling.
  • Real error handling requires answering three questions for each caught exception.
  • Blanket except Exception statements fail to address these questions adequately.

NestJS tip: how to try any official sample in seconds

Let's say you want to run one of the official NestJS samples, the ones under the sample folder of the nestjs/nest repository, to see how some feature looks like in a real app.

  • New tool lets you run NestJS samples in seconds
  • Requires Node.js 22 or higher to use npx try-nest@latest
  • Samples list updates automatically from nestjs/nest repo

More from Saturday 10 October →