package Ġorg . jetbrains . r ider . example . nuget . credential provider Ċ Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . jetbrains . r ider . framework . impl . Rd Secure String Ċ import Ġcom . jetbrains . r ider . model . Rd NuGet Feed Credentials Ċ import Ġcom . jetbrains . r ider . nuget . R ider NuGet Host Ċ import Ġcom . jetbrains . r ider . nuget . configs . R ider NuGet Credentials Repo Ċ import Ġcom . jetbrains . r ider . nuget . credentials . NuGet Credential Provider Ċ import Ġcom . jetbrains . r ider . nuget . credentials . NuGet Credential Provider Response Ċ import Ġcom . jetbrains . r ider . nuget . credentials . NuGet Credential Provider Status Ċ import Ġcom . jetbrains . r ider . nuget . credentials . NuGet Credentials Ċ import Ġjava . net . URI Ċ Ċ class ĠExample NuGet Credential Provider Ġ: ĠNuGet Credential Provider Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġsupports Endpoint ( uri : ĠURI ): ĠBoolean ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ= Ġuri . host Ġ== Ġ" acme corp . local " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Provider Response ( project : ĠProject , Ġuri : ĠURI , Ġis Retry : ĠBoolean ): ĠNuGet Credential Provider Response ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! Example NuGet Credential Provider . supports Endpoint ( uri )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠTODO : ĠWhen Ġthe Ġcaller Ġdoes Ġnot Ġmention Ġit Ġis Ġretry ing Ġcredential Ġac quisition , Ġreturn Ġstored Ġcredentials . ĊĠĠĠĠĠĠĠ Ġif Ġ(! is Retry ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstored Credentials Ġ= ĠR ider NuGet Credentials Repo . load Credentials For Feed ( uri . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( stored Credentials Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠNuGet Credential Provider Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNuGet Credentials ( stored Credentials . user , Ġstored Credentials . password ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNuGet Credential Provider Status . Success , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠTODO : ĠIf Ġwe Ġdo Ġhave Ġa Ġretry , Ġperform Ġauthentication Ġusing Ġwhatever Ġmeans Ġnecessary . ĊĠĠĠĠĠĠĠ Ġval Ġwas Successful Ġ= Ġtrue Ġ// Ġlet 's Ġimagine Ġthat Ġworked ... ĊĠĠĠĠĠĠĠ Ġif Ġ( was Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO : ĠWhen Ġauthentication Ġwas Ġsuccessful , Ġdo Ġa Ġfew Ġthings . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġusername Ġ= Ġ" username - we - just - acquire d " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpassword Ġ= ĠR d Secure String (" password - or - api - key - we - just - acquire d ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ 1 ) ĠStore Ġcredentials Ġin Ġcredential Ġstore ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR ider NuGet Credentials Repo . save Credentials For Feed ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuri . toString (), ĠR d NuGet Feed Credentials ( username , Ġpassword )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ 2 ) ĠForce Ġa Ġreload Ġof Ġthe ĠNuGet Ġconfiguration ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR ider NuGet Host . getInstance ( project ). facade . read NuGet Config () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ 3 ) ĠReturn Ġthe Ġusername / password Ġthe Ġnu Get Ġclient Ġcan Ġstart Ġusing ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠNuGet Credential Provider Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNuGet Credentials ( username , Ġpassword ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNuGet Credential Provider Status . Success , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠTODO : ĠWhen Ġthe Ġuser Ġcancelled , Ġreturn Ġstatus Ġas Ġsuch ĊĠĠĠĠĠĠĠ Ġreturn ĠNuGet Credential Provider Response ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNuGet Credential Provider Status . User Canceled , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ) ĊĠĠĠ Ġ} Ċ } ĊĊ