Forum Discussion

vcima's avatar
vcima
Brass Contributor
Feb 12, 2020

Obtaing access token in a Web Part

Hi ,


We have a website with a game that uses Azure AD to authenticate the users.

 

One of our clients has decided to put the website inside their Sharepoint and now they want avoid the "relogin" against their Azure AD. If they are logged in their Sharepoint, they want be logged in my website at the same time.

 

Our doubt is simple. We have developed a Sharepoint Web Part. Inside this Web Part we have an iframe to render our website that login against Azure AD. Our client don' t want to relogin in our website and prefers that the login will be automatic according to the access token of the session Sharepoint. 

We need to know the way to obtain the Sharepoint access token to pass it to our website

-----------------------------------------------------------------------------------------------------------------

import { Version } from '@microsoft/sp-core-library';
import {
  IPropertyPaneConfiguration,
  PropertyPaneTextField
} from '@microsoft/sp-property-pane';
import { BaseClientSideWebPart } from '@microsoft/sp-webpart-base';
import { escape } from '@microsoft/sp-lodash-subset';

import styles from './TestwebpartWebPart.module.scss';
import * as strings from 'TestwebpartWebPartStrings';

export interface ITestwebpartWebPartProps {
  description: string;
}

export default class TestwebpartWebPart extends BaseClientSideWebPart <ITestwebpartWebPartProps> {

  public render(): void {
    var access_token = ¿¿??     
    this.domElement.innerHTML = `
      <iframe src='https://ourapp.es/?token=${access_token}'/>`;

  }

  protected get dataVersion(): Version {
  return Version.parse('1.0');
}

  protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {
  return {
    pages: [
      {
        header: {
          description: strings.PropertyPaneDescription
        },
        groups: [
          {
            groupName: strings.BasicGroupName,
            groupFields: [
              PropertyPaneTextField('description', {
                label: strings.DescriptionFieldLabel
              })
            ]
          }
        ]
      }
    ]
  };
}
}

3 Replies

No RepliesBe the first to reply

Resources