store/tooling: support using snapcraft v7+ base64-encoded auth data (#12065)
including the simple credentials cases
this also starts supporting UBUNTU_STORE_AUTH taking diretcly the auth data instead of a filename.
to achieve this, we:
reorg ToolingStore auth code
fully allow for implicit user cred authorizing in store
have the ToolingStore use and pass an Authorizer
* store/tooling: splitting out auth.go code before flexibility changes
* store: fully allow for implicit user cred authorizing
we want to support doing user authorizing fully inside an Authorizer
while passing user == nil around, if it makes sense
* store/tooling: start generalizing auth data parsing code
* store/tooling: have the ToolingStore use and pass an Authorizer
this switches the ToolingStore approach to use an Authorizer
set on the underlying Store config, this should allow to also
support simpler creds of the form auth scheme/auth value
no explict auth.UserState and DeviceAndAuthContext are passed anymore
to the underlying Store
* store/tooling: support using snapcraft v7+ base64-encoded auth data
including the simple credentials cases
this also starts supporting UBUNTU_STORE_AUTH taking diretcly the auth
data instead of a filename.
* store,store/tooling: rename and clarify HasAuth => CanAuthorizeForUser
When collecting preseeded data, include also snapd/mounts.
This directory contains layout info and is essential to have
a correct layout functionality on preseeded system.
Signed-off-by: Ondrej Kubik <email address hidden>