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

Identity application credential #16787

Merged

Conversation

KarishmaGhiya
Copy link
Member

@KarishmaGhiya KarishmaGhiya commented Aug 5, 2021

  • Create Application Credential (consists of Environment Credential and Managed Identity Credential)
  • Public tests for Application Credential (testing Env Cred scenarios)
  • Internal tests for Application Credential (testing Managed Identity Cred Scenarios)
  • Fixes issue - Create AzureApplicationCredential #15805
  • Details can be found here
  • Updated changelog

@ghost ghost added the Azure.Identity label Aug 5, 2021
@KarishmaGhiya KarishmaGhiya linked an issue Aug 5, 2021 that may be closed by this pull request
Copy link
Contributor

@chradek chradek left a comment

Choose a reason for hiding this comment

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

This looks like a pretty clean implementation overall! Looks like there's a test failing the CI.

*/
export interface ApplicationCredentialOptions
extends TokenCredentialOptions,
CredentialPersistenceOptions {
Copy link
Contributor

Choose a reason for hiding this comment

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

It doesn't look like the EnvironmentCredential or ManagedIdentityCredential uses the persistence options (if I understand correctly...they don't end up using the msal node flow), so I think we could get away with just extending TokenCredentialOptions.

@willmtemple Am I correct that those credentials don't use persistence?

Copy link
Contributor

Choose a reason for hiding this comment

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

EnvironmentCredential passes the options to credentials that support persistence. ManagedIdentityCredential does not currently support persistence, but it will eventually.

@@ -60,7 +60,7 @@ export class ChainedTokenCredential implements TokenCredential {
let successfulCredentialName = "";
const errors = [];

const { span, updatedOptions } = createSpan("ChainedTokenCredential-getToken", options);
const { span, updatedOptions } = createSpan("ChainedTokenCredential.getToken", options);
Copy link
Contributor

Choose a reason for hiding this comment

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

Was there an issue for this or did you happen to notice it was wrong?

Copy link
Contributor

Choose a reason for hiding this comment

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

I’d say, let’s not make this change here unless we make it everywhere in Identity. An issue could help.

Copy link
Contributor

Choose a reason for hiding this comment

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

On second thought, @KarishmaGhiya can we fix this everywhere else that you find it? Or is this the only place?

Copy link
Member Author

Choose a reason for hiding this comment

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

so I found inconsitencies in use of "." and "-" with getToken @sadasant

Copy link
Member Author

Choose a reason for hiding this comment

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

#16806 Filed an issue. May be I can address this later? @chradek @sadasant

Copy link
Member Author

Choose a reason for hiding this comment

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

@chradek I happened to notice the inconsistencies

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes, let’s thing about this later. Also, we should align with what other clients are doing! Or align other packages to something that makes sense, (either - or .).

@sadasant
Copy link
Contributor

sadasant commented Aug 6, 2021

It’s going really well! Now the final effort comes: Making sure CI is happy 😊

@KarishmaGhiya KarishmaGhiya force-pushed the identity-application-credential branch from 438364e to af9f607 Compare August 6, 2021 22:37
@KarishmaGhiya
Copy link
Member Author

KarishmaGhiya commented Aug 7, 2021

This test passes on my local though. Seems that the error messages for Managed Identity Credential are slightly different for local and CI, I updated the test to check just whether it is coming as "not authenticated" instead of verifying the complete message for ManagedIdentityCredential under the "AggregateAuthenticationError"

@joshfree joshfree requested a review from chlowell August 9, 2021 17:13
@joshfree
Copy link
Member

joshfree commented Aug 9, 2021

@sadasant @chlowell can you review/approve this change so it can be merged with this month's ship cycle?

Copy link
Contributor

@sadasant sadasant left a comment

Choose a reason for hiding this comment

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

Good job! 👏

@KarishmaGhiya KarishmaGhiya merged commit 71a793e into Azure:main Aug 9, 2021
openapi-sdkautomation bot pushed a commit to AzureSDKAutomation/azure-sdk-for-js that referenced this pull request Dec 9, 2021
Microsoft.SecurityInsights 2021-09-01-preview (Azure#16933)

* Adds base for updating Microsoft.SecurityInsights from version preview/2021-03-01-preview to version 2021-09-01-preview

* Updates readme

* Updates API version in new specs and examples

* Microsoft.security insights 2021 09 01 preview add missing resources (Azure#15531)

* Copy missing resources specs and examples from 2019-01-01-preview

* Update added resources specs and examples and extract common types

* Update readme

* Extract ClientInfo, UserInfo and Lable to common types

* Fix SpellCheck and Avocado

* Return ThreatIntelligence to readme

* Fix broken refs in Watchlists

* Resolve duplicate schema errors

* Run prettier

* Make common types prettier

* Add required property to operations according to ARM requirments

* Fix readme

* Add file separators to readme

* Rename example file

* Supress OBJECT_ADDITIONAL_PROPERTIES

* Add 'where' to OBJECT_ADDITIONAL_PROPERTIES supression

* Move OBJECT_ADDITIONAL_PROPERTIES supression under general Supression section.

* Copy dataConnectors from 2021-03-01-preview

* Update version of dataConnectors (this was done as there were errors when trying to generate C# client. Copying and changing version again fixed the problem).

* Add dataConnectorsCheckRequirments path, parameters and definitions from 2019-01-01-preveiw

Co-authored-by: Anat Gilenson <[email protected]>

* Use newest common types in new 2021-09-01-preview API version (Azure#15778)

* Use newest common types in AlertRules

* Use newest common types in AutomationRules

* Use newest common types in Bookmarks

* Use newest common types in dataConnectors

* Use newest common types in Enrichment

* Use newest common types in Entities

* Use newest common types in EntityQueries

* Use newest common types in Incidents

* Use newest common types in Metadata

* Use newest common types in OfficeConsents

* Use newest common types in OnboardingStates

* Use newest common types in operations

* Use newest common types in Settings

* Use newest common types in SourceControls

* Use newest common types in ThreatIntelligence

* Use newest common types in Watchlist

* Use newest common types in EntityTypes

* Use newest common types in RelationTypes

* Fix ThreatIntelligence

Co-authored-by: Anat Gilenson <[email protected]>

* Add template version to the scheduled alert rule + scheduled template (Azure#15919)

* Add template version to the scheduled alert rule

* Update AlertRules.json

* Update AlertRules.json

* Update AlertRules.json

* Update AlertRules.json

* Update GetAlertRuleTemplates.json

* Update GetAlertRuleTemplateById.json

* add aws s3 connector (Azure#15844)

* Add a new kind of alert rules - NRT (Azure#15980)

* add NRT rule

* add NRT rule

* add NRT rule

* add NRT rule

* fix typo

* fix typo

* fix

* Align new Metadata feature with 2021-03-01-preview (Azure#16304)

Co-authored-by: Anat Gilenson <[email protected]>

* Add fixes from 2021-03-01-preview (Azure#16238)

Co-authored-by: Anat Gilenson <[email protected]>

* Add entity query templates (Azure#16269)

* Add entity query templates from 2021-03-01-preview

* Update version

* Use newest common types and update readme

* Fix conflicting common types

Co-authored-by: Anat Gilenson <[email protected]>

* Fix bookmark relations operatinIds to be consistent with other operationIds. (Azure#16519)

Co-authored-by: Anat Gilenson <[email protected]>

* Add corrections from 2021-03-01-preview (Azure#16490)

Co-authored-by: Anat Gilenson <[email protected]>

* Remove unused parameters (Azure#16619)

Co-authored-by: Anat Gilenson <[email protected]>

* Update readme default readme tag for client generation (Azure#16620)

Co-authored-by: Anat Gilenson <[email protected]>

* Use CloudError instead of ErrorResponse to avoid breaking change (Azure#16691)

Co-authored-by: Anat Gilenson <[email protected]>

* Add data connectors polling ccp api support (Azure#16293)

* adding dataConnectors polling CCP api Support. (witout tests validations)

* azure sentinel dataconnectors update examples

* azure sentinel dataConnectors examples update and fix

* azure sentinel dataConnectors prettier

* azure sentinel dataConnectors add connect disconnect examples update path

* azure sentinel dataConnectors add connect disconnect examples fix

* azure sentinel dataConnectors add connect disconnect examples fix 2

* azure sentinel dataConnectors rebase dataConnectors dev

* azure sentinel dataconnectors - fix put to post on connect and disconnect endpoints

* azure sentinel dataconnectors - adding x-ms-secret to password on connect

* azure sentinel dataconnectors - connect/disconnect endpoint remove unnedded 201 return

* azure sentinel dataConnectors - remove empty body DataConnectorDisconnectBody

Co-authored-by: Alon Danoch <[email protected]>

* Add office IRM Connector (Azure#16764)

* Add office IRM

* fix

* fix

* fix

* fix

Co-authored-by: omerhaimov <[email protected]>

* Add teamInformation to IncidentProperties 2021-09-01-preview (Azure#16787)

* Fix Swagger for SecurityInsights - Add teamInformation to IncidentProperties

* Try change description as advised by Swagger reviewer Yuchao Yan to fix the validation error.

* Revert change in ntDomain description as it has nothing to do with validations

Co-authored-by: Anat Gilenson <[email protected]>

* Make CloudError and CloudErrorBody external resources (already exist under Microsoft.Rest.Azure namespace) (Azure#16872)

Co-authored-by: Anat Gilenson <[email protected]>

* Remove operational insights parameter 2021 09 01 preview (Azure#16891)

* Remove operationalInsightsResourceProvider parameter from specs

* Remove parameter from examples

Co-authored-by: Anat Gilenson <[email protected]>

* Update EntityTypes.json (Azure#16972)

Co-authored-by: Anat Gilenson <[email protected]>
Co-authored-by: Amit Bergman <[email protected]>
Co-authored-by: sagamzu <[email protected]>
Co-authored-by: necoh <[email protected]>
Co-authored-by: alondanoch <[email protected]>
Co-authored-by: Alon Danoch <[email protected]>
Co-authored-by: omerhaimov <[email protected]>
Co-authored-by: omerhaimov <[email protected]>
Co-authored-by: Yuchao Yan <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create AzureApplicationCredential
4 participants