0% found this document useful (0 votes)
14 views2 pages

2

The document outlines the process of generating an API client for Microsoft Graph using the Kiota command line tool and registering an application for authentication. It provides step-by-step instructions for creating an app registration in the Azure Active Directory, including enabling device code flow for authentication. Finally, it includes code snippets 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
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views2 pages

2

The document outlines the process of generating an API client for Microsoft Graph using the Kiota command line tool and registering an application for authentication. It provides step-by-step instructions for creating an app registration in the Azure Active Directory, including enabling device code flow for authentication. Finally, it includes code snippets 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
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

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 --openapi get-me.yml --language CLI -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 System.CommandLine.Builder;
using System.CommandLine.Parsing;
using Azure.Identity;
using GetUserClient.ApiClient;
using Microsoft.Kiota.Authentication.Azure;
using Microsoft.Kiota.Cli.Commons.Extensions;
using Microsoft.Kiota.Bundle;

var rootCommand = new GetUserApiClient().BuildRootCommand();


rootCommand.Description = "CLI description";

// Set up services
var builder = new CommandLineBuilder(rootCommand)
.UseDefaults()
.UseRequestAdapter(ic =>
{
// 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 adapter = new DefaultRequestAdapter(authProvider);
adapter.BaseUrl = "https://graph.microsoft.com/v1.0";
return adapter;
}).RegisterCommonServices();

return await builder.Build().InvokeAsync(args);


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.

Bash

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

You might also like