

Microsoft identity platform and the OAuth 2.0 client credentials flow
Details about the client credentials
flow
https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow
Microsoft identity platform application authentication certificate credentials
Details about the certificate assertion
value for the client credentials
flow
#!/usr/bin/env zsh | |
function createAppRegistration (){ | |
local appName=$1 | |
appObjectId=`az ad app create --display-name "${appName}" --oauth2-allow-implicit-flow false --query "objectId" --output tsv` | |
# Undocumented: You need to create the service principal to back the app registration | |
# https://github.com/Azure/azure-cli/issues/12797#issuecomment-612138520 | |
sp=`az ad sp create --id ${appObjectId}` | |
appId=`az ad app show --id ${appObjectId} --query "appId" --output tsv` |
Session resources for developers from SK122 Building rich app experiences with Progressive Web Apps.
<# Script to update the configuration (definition) of a Power Automate Flow | |
# This is an EXAMPLE script and assumes you have a flow with the two placeholder values - amend the parameters and config accordingly #> | |
<# | |
.SYNOPSIS | |
Update the config/any hardcoded values in a Flow using placeholders | |
.EXAMPLE | |
Update-FlowConfig.ps1 -SiteURL 'https://mytenant.sharepoint.com/sites/testsite' -ListID '0d1caedb-c38d-48b0-ba4a-e0fd5218c38b' -FlowPackagePath 'C:\Users\johndoe\Documents\Flows\MyFlow\' | |
SiteURL : URL to the SharePoint site (assuming a SharePoint trigger) |
/// <reference types="Cypress" /> | |
const xml = `<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" | |
xmlns:a="http://www.w3.org/2005/08/addressing" | |
xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> | |
<s:Header> | |
<a:Action s:mustUnderstand="1">http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue</a:Action> | |
<a:ReplyTo> |
function getAadToken(user, password, identifier) { | |
return puppeteer.launch({ headless: true }).then(async browser => { | |
try { | |
const page = await browser.newPage(); | |
await page.goto("SITEURL"); | |
await page.click( | |
"LOGINBUTTON" | |
); |
// stateless/dumb component in React Typescript | |
import * as React from 'react'; | |
interface IWelcomeProps { | |
name: string, | |
} | |
const Welcome: React.SFC<IWelcomeProps> = ({ name }) => { | |
return <h1>Hello, {name}</h1>; | |
} |