If user is not authenticated when they run an azd command we should call azd login under the hood, prompt them to login and then continue the command flow.
Today, if you call azd up and are not authenticated, you get an error. You then have to go call azd login and then azd up again.

The flow would ideally be:
- User calls
azd up (or other command) unauth'd
- User sees prompt to authenticate
- User visits browser to authenticate
- User comes back to terminal/VS Code/Codespaces etc.
azd up begins normal flow asking user for env, sub, region once authentication has succeeded.
Additional repercussions of this current behaviour: In VS Code, there is no azd login in the context menu/command palette so the experience is inconsistent if you are invoking commands from the context menu or command palette because you can call all other commands from those interfaces but have to use the embedded terminal for azd login.
If user is not authenticated when they run an
azdcommand we should callazd loginunder the hood, prompt them to login and then continue the command flow.Today, if you call

azd upand are not authenticated, you get an error. You then have to go callazd loginand thenazd upagain.The flow would ideally be:
azd up(or other command) unauth'dazd upbegins normal flow asking user for env, sub, region once authentication has succeeded.Additional repercussions of this current behaviour: In VS Code, there is no
azd loginin the context menu/command palette so the experience is inconsistent if you are invoking commands from the context menu or command palette because you can call all other commands from those interfaces but have to use the embedded terminal forazd login.