microsoft/teams.net

Public

mirrored fromhttps://github.com/microsoft/teams.netAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
samples/migration-bot

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

Libraries/Microsoft.Teams.Api/Clients/BotTokenClient.cs

49lines · modecode

1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the MIT License.
3
4using Microsoft.Teams.Common.Http;
5
6namespace Microsoft.Teams.Api.Clients;
7
8public class BotTokenClient : Client
9{
10 public static readonly string BotScope = "https://api.botframework.com/.default";
11 public static readonly string GraphScope = "https://graph.microsoft.com/.default";
12
13 public BotTokenClient() : this(default)
14 {
15
16 }
17
18 public BotTokenClient(CancellationToken cancellationToken = default) : base(cancellationToken)
19 {
20
21 }
22
23 public BotTokenClient(IHttpClient client, CancellationToken cancellationToken = default) : base(client, cancellationToken)
24 {
25
26 }
27
28 public BotTokenClient(IHttpClientOptions options, CancellationToken cancellationToken = default) : base(options, cancellationToken)
29 {
30
31 }
32
33 public BotTokenClient(IHttpClientFactory factory, CancellationToken cancellationToken = default) : base(factory, cancellationToken)
34 {
35
36 }
37
38 public virtual async Task<ITokenResponse> GetAsync(IHttpCredentials credentials, IHttpClient? http = null, CancellationToken cancellationToken = default)
39 {
40 var token = cancellationToken != default ? cancellationToken : _cancellationToken;
41 return await credentials.Resolve(http ?? _http, [BotScope], token);
42 }
43
44 public async Task<ITokenResponse> GetGraphAsync(IHttpCredentials credentials, IHttpClient? http = null, CancellationToken cancellationToken = default)
45 {
46 var token = cancellationToken != default ? cancellationToken : _cancellationToken;
47 return await credentials.Resolve(http ?? _http, [GraphScope], token);
48 }
49}