microsoft / microsoft/winget-cli-restsource

Microsoft Store source MSA authentication

Open
#52 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue-Feature
Dominant language
C#
Stars
317
Forks
79
PR merge metrics
No merged PRs in 30d

Description

Description of the new feature/enhancement

The Microsoft Store requires Microsoft Account (MSA) authentication to acquire previously purchased Apps. The Microsoft Store source is implemented via the REST API.

Running winget install Paint.Net is the canonical example.

Proposed technical implementation details (optional)

The source GET information API should provide the support for MSA authentication to prompt users for an ACK to use MSA authentication for acquiring paid applications. Once this has been accepted by the user, the client should pass an authentication token to the store source on subsequent requests.

https://github.com/microsoft/winget-cli/issues/1339

Note: This may also be a viable authentication mode for other private sources. This is not a duplicate of #37 looking at other authentication mechanisms.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the REST source GET information API described in the issue and review the linked #1339 discussion for context. Define how MSA consent is requested and how the resulting authentication token is passed on subsequent requests, including support for acquiring paid applications.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
api, authentication, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.