MicrosoftEdge-Extensions
MicrosoftEdge-Extensions copied to clipboard
[Bug - Partner Center] Key field section missing in Manifest file is leading to random ID generation, not allowing to connect with host EXE
Issue reported by Apple iCloud Team, filed on their behalf:
When uploading an extension to the Edge store, the upload will be rejected if the "key" field is specified in the manifest. Our extensions use the native messaging API to talk with a host EXE process. In order for the connection to be established, the extension ID must be added to a list of allowed origins in a native messaging manifest shipped with iCloud for Windows. If the extension manifest does not have a "key" field, Edge generates a random ID. The extension can no longer connect to the host EXE.
For Chrome, we set the "key" value to be the same key as from the store so no matter how the extension is installed, the extension ID is the same. This allows side loading to work.
Describe the solution you'd like:
The Edge store should change the validation check of the "key" field to see if it matches the expected key from the store, instead of always rejecting the upload.
Describe alternatives you've considered
Our QA must test new versions of an extension by side loading the .zip file.
I have exactly the same problem, the "key" attribute must be present in manifest.json or the extension simply does not work. Please provide a working solution.
Hello @gregko, thank you for reaching out to us.
This bug is in the backlog. Our team is working on it. We will revert back soon with a solution.
THE INFO I POSTED BELOW IS MY MISTAKE, IT STILL DOES NOT WORK CORRECTLY. SEE MY NEXT POST.
Thank you. I found a work-around to generate a key by creating a packaged extension file with Edges package extension function, then renaming it to key.pem and packaging this file with the final ZIP I produce, the “key” field removed from manifest.json. Maybe if it was explained directly with that bug submission, or elsewhere easy to find, there would not be necessity to fix the bug.
However, Chrome extension does not complain about the “key” field being present directly in manifest.json, therefore it was confusing to me, and probably other developers.
Greg
From: Siv Souvam @.) @.> Sent: Tuesday, March 28, 2023 6:56 AM To: microsoft/MicrosoftEdge-Extensions @.> Cc: Greg Kochaniak @.>; Mention @.***> Subject: Re: [microsoft/MicrosoftEdge-Extensions] [Bug - Partner Center] Key field section missing in Manifest file is leading to random ID generation, not allowing to connect with host EXE (Issue #41)
Hello @gregko https://github.com/gregko , thank you for reaching out to us.
This bug is in the backlog. Our team is working on it. We will revert back soon with a solution.
— Reply to this email directly, view it on GitHub https://github.com/microsoft/MicrosoftEdge-Extensions/issues/41#issuecomment-1486643637 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AANKO7ANDMHOAGX25BFDQNDW6K7UZANCNFSM533FSRQA . You are receiving this because you were mentioned.Message ID: @.***>
I was mistaken and the BUG still stands. Embedding key.pem and removing key from manifest.json, still leads to random generation of redirect URL on every browser restart.
Please either fix this bug in your store, or provide a valid, working workaround, which will keep the redirect URL stable. It is urgent, I published my extension without any problems for Chrome and Firefox browsers, but cannot do this for Edge.
Hi @gregko,
Sure, our team is looking into it.
Could you please share the extension name & crx-id with us?
The extension name is @Voice Add to List, CRX-ID: alfddpbnpacpkliahmoaohgccmfhbbhh
Currently it is not listed in Edge extensions store, the status is Rejected, because it does not work (the Redirect URL necessary to login with Oauth2 to Google Drive changes with each reload).
Greg
From: Siv Souvam @.) @.> Sent: Thursday, March 30, 2023 8:00 AM To: microsoft/MicrosoftEdge-Extensions @.> Cc: Greg Kochaniak @.>; Mention @.***> Subject: Re: [microsoft/MicrosoftEdge-Extensions] [Bug - Partner Center] Key field section missing in Manifest file is leading to random ID generation, not allowing to connect with host EXE (Issue #41)
Hi @gregko https://github.com/gregko ,
Sure, our team is looking into it.
Could you please share the extension name & crx-id with us?
— Reply to this email directly, view it on GitHub https://github.com/microsoft/MicrosoftEdge-Extensions/issues/41#issuecomment-1490180164 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AANKO7F3R6R5SVOKOBQINGLW6VYTZANCNFSM533FSRQA . You are receiving this because you were mentioned.Message ID: @.***>
Thank you @gregko for sharing the info. We will be investigating & reverting back to it soon.
Actually, the problem is not that the RedirectURL changes with the browser restart - it is stable. It changes when the location from which the extension is loaded, changes. For example, when developing/debugging and loading an unpacked extension - move it to a different directory and load from there. Or load from a different ZIP file. But strangely, load it from the same named directory on another computer, and it is the same as on the first computer... For an extension that relies on RedirectURL to login with Oauth2 any user (in my case I'm logging into Google Drive), the RdirectURL must be entered into the cloud console to let all users work, so it must be the same for everyone in the world...
@gregko Could you please share your extension package over email with us?