Sample Manifest
Sample Node.js Application
Doug Routledge
Teams, Skype for Business, SQL, Exchange, UC, Full Stack Developer
![]()
Doug is the co-found of Bridge Communications, and also leads the development team.
|
Bridge Communications Unified Communications Blog - Ideas and source code for UC programmers and users.
Doug Routledge
Teams, Skype for Business, SQL, Exchange, UC, Full Stack Developer
![]()
Doug is the co-found of Bridge Communications, and also leads the development team.
|
New Products for Cisco Users.
|
Doug Routledge
Teams, Skype for Business, SQL, Exchange, UC, Full Stack Developer
![]()
Doug is the co-found of Bridge Communications, and also leads the development team.
|
Doug Routledge
Teams, Skype for Business, SQL, Exchange, UC, Full Stack Developer
![]()
Doug is the co-found of Bridge Communications, and also leads the development team.
|
Doug Routledge
Teams, Skype for Business, SQL, Exchange, UC, Full Stack Developer
![]()
Doug is the co-found of Bridge Communications, and also leads the development team.
|
Doug Routledge
Teams, Skype for Business, SQL, Exchange, UC, Full Stack Developer
![]()
Doug is the co-found of Bridge Communications, and also leads the development team.
|
To use the Microsoft Graph APIs, you must get an access token. When your app is running in Microsoft Teams, the only difference is that you must drive the authentication flow, as described in Authenticate a user in your Microsoft Teams tab.
Be careful if you use the Microsoft Graph APIs for team resources, rather than those for the current user, because the two have different consent models. Typically, users can directly consent to your Microsoft Teams app within a specific team. However, currently an admin must also consent to your app (as registered in Azure Active Directory) using these group APIs, at which point the app then has API access to all the groups or teams for each user. (See Group permissions for more information.) You should therefore ensure that your Microsoft Teams app handles not having the permissions it needs, and that it respects the user's intention about the teams in which it should operate.
Doug Routledge
Teams, Skype for Business, SQL, Exchange, UC, Full Stack Developer
![]()
Doug is the co-found of Bridge Communications, and also leads the development team.
|
validDomains
section of the manifest. Failure to do so might result in an empty pop-up.login_hint
value for Azure AD sign-in, which means the user might need to type less, or even that sign-in completes with no user action at all. Note that you should not use this context directly as proof of identity. For example, an attacker could load your page in a "malicious browser" and provide it with any information they want.microsoftTeams.authentication.authenticate({url: <auth URL>, width: <width>, height: <height>, successCallback: <successCallback>, failureCallback: <failureCallback>})
.validDomains
section of the manifest. Within this authorization page, you should redirect to your identity provider, so the user can sign in. After the user completes authentication, the pop-up window is redirected to the callback page you specified for your app.microsoftTeams.authentication.notifySuccess()
or microsoftTeams.authentication.notifyFailure()
.successCallback
or failureCallback
function that you registered in step 4, inside the original configuration or content page.Doug Routledge, Teams, Skype for Business, SQL, Exchange, UC,
Full Stack Developer BridgeOC Bridge Operator Console Twitter - @droutledge @ndbridge |