Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make GetTokenForAppAsync less confusing and allow to pass tenantId #413 #424

Merged

Conversation

jmprieur
Copy link
Collaborator

@jmprieur jmprieur commented Aug 9, 2020

Checked with @hpsin and here is what we agreed to:

  • Change the signature of GetAccessTokenForUserAsync to take a string (instead of a IEnumerable<string>) as there is only one possible string for a given resource of App Id URI AppIdUri: "AppIdUri/.default". Check that the resource ends in "./default"
  • Add an additional optional parameter tenant to support this scenario, and verify that this tenant is not organizations (and of course common and consumers, which don't make sense)
public async Task<string> GetAccessTokenForAppAsync(string scope, string? tenant = null)

Checked with @hpsin and here is what we agreed to:
- Change the signature of `GetAccessTokenForUserAsync` to take a `string` (instead of a `IEnumerable<string>`) as there is only one possible string for a given resource of App Id URI AppIdUri: "AppIdUri/.default". Check that the resource ends in "./default"
- Add an additional optional parameter `tenant` to support this scenario, and verify that this tenant is not organizations (and of course common and consumers, which don't make sense)

```CSharp
public async Task<string> GetAccessTokenForAppAsync(string scope, string? tenant = null)
```
@jmprieur jmprieur requested review from jennyf19 and pmaytak and removed request for jennyf19 August 9, 2020 11:12
Copy link
Collaborator

@jennyf19 jennyf19 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🕐

jmprieur and others added 10 commits August 10, 2020 10:29
Co-authored-by: jennyf19 <jeferrie@microsoft.com>
Co-authored-by: jennyf19 <jeferrie@microsoft.com>
Co-authored-by: jennyf19 <jeferrie@microsoft.com>
Co-authored-by: jennyf19 <jeferrie@microsoft.com>
Co-authored-by: jennyf19 <jeferrie@microsoft.com>
Co-authored-by: jennyf19 <jeferrie@microsoft.com>
Co-authored-by: jennyf19 <jeferrie@microsoft.com>
Co-authored-by: jennyf19 <jeferrie@microsoft.com>
- Adding an aka.ms link to the error messages (https://aka.ms/ms-id-web/daemon-scenarios)
- using constants for the meta-tenants
- Testing all the meta tenant
Thanks @jennyf19 for this PR feedback
@jmprieur
Copy link
Collaborator Author

Thanks @jennyf19 for these suggestions.
I've addressed all your PR feedback: 1df2f00

@jmprieur jmprieur requested a review from jennyf19 August 10, 2020 09:33
Copy link
Collaborator

@jennyf19 jennyf19 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@hpsin
Copy link

hpsin commented Aug 10, 2020

Consumers is allowed, since it is a single tenant.
It's probably worth keeping the old signature around and updating its comments for future compatibility. If we suddenly start supporting multiple scopes (eg more than just /.default) then we'll want this to take multiple strings again.

@jmprieur jmprieur merged commit e493c5a into jmprieur/WIPNewApi Aug 10, 2020
jennyf19 added a commit that referenced this pull request Aug 12, 2020
* Initial commit (does not build)

* Updating Web API.

Todo:
- see if we could have some commonalities between the Web app and Web API builder (configuration?)
- Enfoce configuration for CallsWebAPI can only be called if configuration for the AddMicrosoftWebApp/Api

* Improving the API

* Improving the API.

* Updating unit tests so that they build
Fixing a few.

* Renamings an clean-up discussed with DevDiv
- Renaming AddMicrosoftWebApp to AddMicrosoftIdentityPlatformWebApp,
- Renaming AddMicrosoftWebApi to AddMicrosoftIdentityPlatformWebApi,
 - MicrososoftAppCallingWebApiAuthenticationBuilder.AddInXXXTokenCaches etc ... return their parent builder.

* More renaming

* Test fix.

* Renaming of more overrides

* Updating the templates

* initial commit api w/microsoftIdentity

* merge conflicts + update templates

* Making the templates work with 0.3.*-*

* few more updates

* Make GetTokenForAppAsync less confusing and allow to pass tenantId #413 (#424)

* Make GetTokenForAppAsync less confusing and allow to pass tenantId #413

Checked with @hpsin and here is what we agreed to:
- Change the signature of `GetAccessTokenForUserAsync` to take a `string` (instead of a `IEnumerable<string>`) as there is only one possible string for a given resource of App Id URI AppIdUri: "AppIdUri/.default". Check that the resource ends in "./default"
- Add an additional optional parameter `tenant` to support this scenario, and verify that this tenant is not organizations (and of course common and consumers, which don't make sense)

```CSharp
public async Task<string> GetAccessTokenForAppAsync(string scope, string? tenant = null)
```

* Update src/Microsoft.Identity.Web/ITokenAcquisition.cs
Co-authored-by: jennyf19 <jeferrie@microsoft.com>

* Addressing PR feedback:
- Adding an aka.ms link to the error messages (https://aka.ms/ms-id-web/daemon-scenarios)
- using constants for the meta-tenants
- Testing all the meta tenant
Thanks @jennyf19 for this PR feedback

* Addressing @hpsin 's PR feedback.

* fix tests

* add xml comments

* few spelling changes

* renaming of CallsWebApi to EnableTokenAcquisitionToCallDownstreamApi

* - Adding a missing renaming for AddMicrosoftWebApp => AddMicrosoftIdentityWebApp
- Updating the ITokenAcquisition.GetTokenForAppAsync signature to match the class.

* Fixing the TodoListService controller in WebAppCallsWebApiCallsGraph

* pr feedback

* reverting pr feedback

Co-authored-by: Jean-Marc Prieur <jmprieur@microsoft.com>
Co-authored-by: pmaytak <34331512+pmaytak@users.noreply.github.com>
@jmprieur jmprieur deleted the jmprieur/GetTokenForAppAsyncBreakingChangesAndFix413 branch August 19, 2020 16:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants