0% found this document useful (0 votes)
7 views

1

The document provides instructions for generating API client classes using the Kiota command line tool and registering an application with the Microsoft identity platform for Microsoft Graph authentication. It details the steps to create an app registration in the Azure Active Directory admin center and configure device code flow for authentication. Additionally, it includes code examples for setting up the client application and running it to access user information from Microsoft Graph.

Uploaded by

Yusuf D M
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

1

The document provides instructions for generating API client classes using the Kiota command line tool and registering an application with the Microsoft identity platform for Microsoft Graph authentication. It details the steps to create an app registration in the Azure Active Directory admin center and configure device code flow for authentication. Additionally, it includes code examples for setting up the client application and running it to access user information from Microsoft Graph.

Uploaded by

Yusuf D M
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

microsoft.graph.

user"
components:
schemas:
microsoft.graph.user:
type: object
properties:
id:
type: string
displayName:
type: string
You can then use the Kiota command line tool to generate the API client classes.

Bash

Copy
kiota generate -l csharp -d get-me.yml -c GetUserApiClient -n
GetUserClient.ApiClient -o ./Client
Register an application
To be able to authenticate with the Microsoft identity platform and get an access
token for Microsoft Graph, you need to create an application registration. You can
install the Microsoft Graph PowerShell SDK and use it to create the app
registration, or register the app manually in the Azure Active Directory admin
center.

The following instructions register an app and enable device code flow for
authentication.

Azure portal
PowerShell
Open a browser and navigate to the Azure Active Directory admin center. Sign in
with your Azure account.

Select Azure Active Directory in the left-hand navigation, then select App
registrations under Manage.

Select New registration. On the Register an application page, set the values as
follows.

Set Name to Kiota Test Client.


Set Supported account types to Accounts in any organizational directory and
personal Microsoft accounts.
Leave Redirect URI blank.
Select Register. On the Overview page, copy the value of the Application (client)
ID and save it.

Select Authentication under Manage.

Locate the Advanced settings section. Set the Allow public client flows toggle to
Yes, then select Save.

Create the client application


The final step is to update the Program.cs file that was generated as part of the
console application to include the following code. Replace YOUR_CLIENT_ID with the
client ID from your app registration.

C#

Copy
using Azure.Identity;
using GetUserClient.ApiClient;
using Microsoft.Kiota.Authentication.Azure;
using Microsoft.Kiota.Bundle;

// The auth provider will only authorize requests to


// the allowed hosts, in this case Microsoft Graph
var allowedHosts = new[] { "graph.microsoft.com" };
var graphScopes = new[] { "User.Read" };

var options = new DeviceCodeCredentialOptions


{
ClientId = "YOUR_CLIENT_ID",
DeviceCodeCallback = (code, cancellation) =>
{
Console.WriteLine(code.Message);
return Task.FromResult(0);
},
};

var credential = new DeviceCodeCredential(options);

var authProvider = new AzureIdentityAuthenticationProvider(credential,


allowedHosts, scopes: graphScopes);
var requestAdapter = new DefaultRequestAdapter(authProvider);
var client = new GetUserApiClient(requestAdapter);

var me = await client.Me.GetAsync();


Console.WriteLine($"Hello {me.DisplayName}, your ID is {me.Id}");
Note

This example uses the DeviceCodeCredential class. You can use any of the credential
classes from the Azure.Identity library.

Run the application


To start the application, run the following command in your project directory.

.NET CLI

Copy
dotnet run
See also
kiota-samples repository contains the code from this guide.
ToDoItem Sample API implements a sample OpenAPI in ASP.NET Core and sample clients
in multiple languages.

You might also like