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

2

This document provides instructions for generating API client classes using the Kiota command line tool and registering an application with the Microsoft identity platform for authentication with Microsoft Graph. It details the steps to register an app in the Azure Active Directory, configure authentication settings, and update the Program.cs file to include necessary code for client application setup. Finally, it explains how to run the application using a specific command in the project directory.

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)
2 views

2

This document provides instructions for generating API client classes using the Kiota command line tool and registering an application with the Microsoft identity platform for authentication with Microsoft Graph. It details the steps to register an app in the Azure Active Directory, configure authentication settings, and update the Program.cs file to include necessary code for client application setup. Finally, it explains how to run the application using a specific command in the project directory.

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

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