Bartuğ Sevindik

In the age of digitalization, the need to optimize business processes and increase efficiency is increasing day by day. At this point, RIVER, Turkey’s leading No-Code Application Development Platform, is not only an application development tool, but it also offers a powerful solution for companies that want to modernize their business processes. In this article, we will examine the Microsoft Graph API integration on the RIVER platform and the advantages of this integration in detail. Immediately afterwards, we will better understand the integration process on the RIVER platform by discussing the Microsoft Authentication Library (MSAL) library and the use of this library with JavaScript.


Benefits of River and Microsoft Integration

Microsoft Graph API is a library that allows users and applications to securely access Microsoft cloud services. This integration brings the various advantages offered by the RIVER platform with it. Here are the main advantages of Microsoft Graph API:

  • Security: Microsoft Graph API securely manages authentication processes of its users. It increases the security level with features such as receiving mobile confirmation and double-factor authentication.
  • Authorization: RIVER platform allows access to applications with certain authorizations using the capabilities provided by the Microsoft Graph API. With this, the user is allowed to access only certain operations.
  • Speed and Easy to Use: Through Microsoft Graph API integration, RIVER platform provides users with access to many Microsoft applications with a single login. This provides users with a fast and easy experience.

RIVER platform performs effective integration by taking advantage of the security, authorization and fast access advantages offered by Microsoft Graph API. In this way, users can access Microsoft cloud services safely and quickly via RIVER platform.

Login with Microsoft Mail 

First of all, when users log in to the River platform, they can log in not only with the e-mail password combination defined for them, but also with their Microsoft accounts.

Using Microsoft Graph on the RIVER platform, users can log in securely through their Microsoft accounts. This makes the platform easy to access, with a single click.

E-mail Integration

The security and authorization features offered by Microsoft Graph make it possible to send and receive e-mail on the RIVER platform with not only a secure but also a user-friendly experience. Thanks to this integration, our users can easily use the extensive features provided by Microsoft Outlook within the RIVER platform.

  • Receiving and Sending Mail: Microsoft Graph allows users to receive and send emails with Microsoft Outlook integration on the RIVER platform. Users can easily perform these actions within the platform, which allows them to manage their business processes more effectively.
  • File Transfer: With the e-mail integration, file transfers can be done securely on the RIVER platform. Users can share and receive their files directly via email.
  • Search and Filtering: Microsoft Graph provides convenience to users with search and filtering features in e-mail integration. Users can quickly access the information they want within the large data set.
  • Send Permission Control: Users can control permissions to send emails to specific people thanks to Microsoft Graph’s authorization features. This allows sensitive information to be shared securely.

Task Tracking

RIVER platform makes task tracking more effective and user-friendly through to integration with Microsoft. The features offered by this integration are as follows:

  • Automated Tasks: The task tracking system integrated with Microsoft allows users to add automatic tasks without having to add them manually. This allows business processes to be automated.
  • Team Permission Distribution: Microsoft integration enables good permission distribution within the team for task tracking. Users can manage their access rights to specific tasks or projects.
  • File, Comment, and Process Link: Users can link files, comments, and processes to tasks. This allows task tracking to be done in a more meaningful and holistic way.
  • Kanban Boards and Gantt Charts : With Microsoft integration, task tracking is supported with visual tools such as kanban boards and Gantt charts. This allows users to better plan and track business processes.

Power BI Integration

RIVER platform uses Microsoft integration to increase access to Power BI reports and make them easier to use. The advantages of this integration are:

  • Access Without Re-Logging: Power BI reports can be used within the RIVER platform without re-logging by the Microsoft Graph integration. Users are able to quickly review and analyze reports.
  • Use in River Widgets: Power BI reports can be directly integrated within the freshly developed River widgets. With this, users can access reports in a faster and more user-friendly way.

These integrations, combined with the security and speed benefits offered by Microsoft Graph, make the RIVER platform more effective and user-centric. By integrating with Microsoft’s applications such as Outlook, Teams and Power BI, it becomes possible to optimize business processes and increase efficiency.

Azure Service and Project Creation

Azure is a cloud-based service provider and includes a variety of services. In this section, we will focus on how to create a project from the Azure portal and its basic rights.

Creating a Project via Azure Portal

Creating a new project via the Azure portal is quite simple. Here are the basic steps:

  • Log in to the Azure portal.
  • Click “Create a resource” from the menu on the left.
  • Find the “Web App” option from the “Web + Mobile” category.
  • Create a project by filling in the required information.

Purposes and Use of Azure Project

An Azure project provides an infrastructure for hosting an application or a service on the cloud. Here are the main purposes of the Azure service:

  • Cloud Based Services: Azure allows you to host your applications and databases on the cloud. This provides easy access to resources and scalability.
  • High Security: Azure protects your data with advanced security measures. It has security features such as authentication, access control and data encryption.
  • Scalability: Azure offers the ability to increase or decrease resources based on your needs. In this way, it is possible to optimize the performance of your applications.
  • Compatibility with Different Programming Languages: Azure supports various programming languages. It can host applications written in languages such as .NET, Java, Python, Node.js.

Basic Powers of the Azure Project

Basic benefits specified when creating an Azure project typically include:

  • Resource Group: Used to group the resources that contain your project.
  • Application Type: You can choose different application types such as Web App, Mobile App.
  • Data Center Region: Possibility to choose the geographical region where your project will be hosted.
  • Database: Ability to integrate Azure databases as needed.

These permissions determine the overall configuration and usage of the project. The Azure project provides developers with a powerful cloud infrastructure, making their applications more secure and scalable.

After this stage, we can move on to API Services, which is one of the services provided by Azure, and ensure integration with the RIVER platform by creating an API service via Azure.

Microsoft Graph API Usage

Microsoft Graph API is a library that allows users and applications to securely access Microsoft cloud services. This library offers great advantages to application developers by simplifying authentication and authorization processes. To use Microsoft Graph, we first need to make use of Azure services.

Authentication Transactions:

Authentication by using Microsoft Graph is generally performed to manage a user’s authentication processes and provide secure access. Let’s examine the Microsoft Graph integration with C# codes below:

Example above allows a user to obtain an access token with Microsoft Graph. This process allows a client to be securely authorized with credentials. The “Your_Client_Id”, “Your_Tenant_Id” and “Your_Client_Secret” sections in the code must be replaced with the information of your own application.

Access Token and Response JSON:

Access token is used to provide access to API services. For example, for the task tracking feature integrated with Microsoft on the RIVER platform, one can acces the Microsoft Graph API with this token. The access token verifies that the client is authorized by using it in API request headers.

Response JSON example:

Access token, “access_token” alanındaki uzun bir karakter dizisi olarak döner. Bu token, API isteği yaparken kullanılır ve istemcinin belirli bir süre boyunca yetkilendirildiğini doğrular. “expires_in” alanı, tokenin geçerlilik süresini saniye cinsinden belirtir. Access token, güvenlik katsayısını artırırken, kullanıcının belirli API hizmetlerine yetkilendirilmiş bir şekilde erişim sağlar. Bu sayede, RIVER platformu üzerindeki görev takibi gibi Microsoft ile entegre özellikler daha güvenli bir şekilde kullanılabilir.

Microsoft Graph çalışma mantığı için ilgili linke bakmanızı tavsiye ederim:

Microsoft Authentication Library (MSAL) Kullanımı (JavaScript)

Microsoft Authentication Library (MSAL), kullanıcıların ve uygulamaların Microsoft bulut hizmetlerine güvenli bir şekilde erişmelerini sağlayan bir kütüphanedir. MSAL, özellikle JavaScript ile uygulama geliştirenler için kullanıcı kimlik doğrulama işlemlerini kolaylaştırır. İşte MSAL kütüphanesinin JavaScript’te kullanımına dair örnek bir kod:

In the example JavaScript code above, a user’s authentication process is managed using the MSAL library and an access token is received after successful authentication. The “Your_Client_Id”, “Your_Tenant_Id”, and “Your_Redirect_Uri” sections in the code should be replaced with one’s own application information.

These examples contain basic information explaining the use of the Microsoft Graph API and the MSAL library. You can expand these examples and adapt them to user-specific scenarios according to your needs.

I recommend you to inspect this link for the working logic of the MSAL library: