GithubHelp home page GithubHelp logo

lemartva / lsc-microsoft-graph-api-plugin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lsc-project/lsc-microsoft-graph-api-plugin

0.0 0.0 0.0 74 KB

LSC plugin for using Microsoft Graph API as a source service

License: Other

Java 100.00%

lsc-microsoft-graph-api-plugin's Introduction

Microsoft Graph API plugin

Build Status

This a plugin for LSC, using Microsoft Graph API

Goal

The object of this plugin is to synchronize users from a Microsoft Azure active directory to a referential. For example it can be used to synchronize the users in an Azure AD to an LDAP repository.

Configuration

The plugin connects to Microsoft Graph API as a deamon app. More information on how to register it on Microsoft Azure can be found here.

The application must have the Application permission User.Read.All permission granted. The documentation about permissions and consent can be found here.

At the time being the plugin only allows to connect to the API using a client secret.

Usage

There are examples of configuration in the sample directory. The lsc.xml file describes a synchronization from Microsoft Graph API to an LDAP repository.

The values to configure are:

Source service

Connection
  • connections.pluginConnection.msGraphApiConnectionSettings.authenticationURL: The base URL used for authentication (default is https://login.microsoftonline.com/) (optional)
  • connections.pluginConnection.msGraphApiConnectionSettings.usersURL: The base URL used for operations on users (default is https://graph.microsoft.com) (optional)
  • connections.pluginConnection.msGraphApiConnectionSettings.scope: The scope url used during authentication (default is https://graph.microsoft.com/.default) (optional)
  • connections.pluginConnection.msGraphApiConnectionSettings.clientId: The client id for the application
  • connections.pluginConnection.msGraphApiConnectionSettings.clientSecret: The client secret used to connect to the application
  • connections.pluginConnection.msGraphApiConnectionSettings.tenant: The Azure AD tenant
API parameters
  • tasks.task.pluginSourceService.filter: (Optional, default none) The filter to use for fetching the list of pivots. For the syntax to use in those filters the syntax can be found here.
  • tasks.task.pluginSourceService.pivot: (Optional, default mail) The field to use as pivot.
  • tasks.task.pluginSourceService.pageSize: (Optional, default none) The page size used to paginate the results from the graph API. Default is no page size, but the API has a 100 default page size.
  • tasks.task.pluginSourceService.select: (Optional, default none) The comma separated list of fields to gather when getting the details of a user. The syntax to use can be found here. By default the API returns a default set of properties.

The jar of the Microsoft graph API LSC plugin must be copied in the lib directory of your LSC installation. Then you can launch it with the following command line:

`ฬ€`` JAVA_OPTS="-DLSC.PLUGINS.PACKAGEPATH=org.lsc.plugins.connectors.msgraphapi.generated" bin/lsc --config /path/to/sample/msgraphapi-to-ldap/ --synchronize users --clean users --threads 5

Packaging

WIP

lsc-microsoft-graph-api-plugin's People

Contributors

remk avatar davidcoutadeur avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.