teamsauth
v0.1.0
Published
Client SDK for MODS
Downloads
3
Readme
Teams authentication library
Notice:
MODS SDK
Build
Run npm run build
to build the library
Usage
Add mods.js file to the html page:
<script src="./mods.min.js" ></script>
API samples:
// Initialize the MODS SDK, throw Error when not in teams
await MODS.init();
// Get basic user info from SSO token
var userInfo = MODS.getUserInfo();
// Get microsoft graph client
var graphClient = MODS.getMicrosoftGraphClient();
/** Get microsoft graph auth provider, you can use this auth provider for the graph client by yourself
* For example as below
* var authProvider = MODS.getMicrosoftGraphAuthProvider();
* Client.init({
defaultVersion: "v1.0",
debugLogging: true,
authProvider: authProvider
})
*/
var authProvider = MODS.getMicrosoftGraphAuthProvider();
/** Call graph api
* When call graph API, it would first try to get access token from memory and localStorage
* If no token exists, it would acquire the token from MODS
* If MODS also doesn't have the token, it would throw an error, and you need to call the function below to get a new token:
* MODS.popupLogInPage();
**/
try {
var profile = await graphClient.api("/me").get();
var photoBlob = await graphClient.api("/me/photos('120x120')/$value").get();
} catch (err) {
if (err.message.indexOf("Access token is expired or invalid") >= 0) {
// Popup login page to get Microsoft Graph access token
// The access token would be managed by the SDK and cached in localStorage
MODS.popupLogInPage();
//... use graph client
}
}