I found the solution so i am posting it here. the p-fileupload html declaration needed mode="basic"
<p-fileUpload mode="basic" customUpload="true" name="ExcelFileUpload" #ExcelFileUpload maxFileSize="10000000" auto="auto" accept=".csv,.xls,.xlsx" (uploadHandler)="uploadExcel($event)" (onError)="onUploadExcelError()" chooseLabel="{{ 'ImportFromExcel' | localize }}" > </p-fileUpload>
No, that also does not do anything after selecting the file.
i realize the chat-bar component works the same way, which is why i sent the code snippet from the chat bar typescript last week, where it takes in files but is not firing. the html, as you pasted is sending an $event as the parameter.
yarn was already up to date and create-dynamic-bundles did not have any effect on the issue.
My guess is that the issue is that the html calling parameter does not match the typescript function parameter signature. Can you tell me if there is something in code that maps these together? maybe it was lost in the upgrade merges, but i don't know what to look for.
(uploadHandler)="uploadExcel($event)" is not firing uploadExcel(data: { files: File }): void {
fwiw, the chat-bar.component also receives the "data" instead of the event
uploadFile(data: { files: File }): void {
const formData: FormData = new FormData();
const file = data.files[0];
formData.append('file', file, file.name);
I am dead in the water not being able to access the emails value for logging in. I expect it's either a claimsmapping or (hopefully not) a change to OpenIdConnectAuthProviderApi code. no email address = no username = no login
also, is there someplace i need to be referencing the userinfo endpoint
I added your suggestion but I get "unique_name claim is missing !" i don't know if the problem is because the Key still expects email instead of emails
"ClaimsMapping": [
{
"claim": "email",
"key": "emails"
},
{
"claim": "unique_name",
"key": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
}
]
Abp.UI.UserFriendlyException: unique_name claim is missing ! at Stepwell.Web.Authentication.External.OpenIdConnectAuthProviderApi.GetUserInfo(String token) in C:\Dev\stepwell-tmp\src\Stepwell.Web.Core\Authentication\External\OpenIdConnectAuthProviderApi.cs:line 60 at Stepwell.Web.Controllers.TokenAuthController.GetExternalUserInfo(ExternalAuthenticateModel model) in C:\Dev\stepwell-tmp\src\Stepwell.Web.Core\Controllers\TokenAuthController.cs:line 641 at Stepwell.Web.Controllers.TokenAuthController.ExternalAuthenticate(ExternalAuthenticateModel model) in C:\Dev\stepwell-tmp\src\Stepwell.Web.Core\Controllers\TokenAuthController.cs:line 451
the issue i was having dealt with B2C wellknown not being on the same path as issuer.
: adding the slash at the end of the authority gives a server error: The given key 'WellKnown' was not present in the dictionary.
the api could still be on one url. some users would have different urls to the same site, but the different urls would not indicate the tenant. for instance, group1.domain.com and group2.domain.com having the same tenant, or domain1.com and domain2.com sharing a published instance of the app.
we found our solution. i'm posting it here for anyone that may read this thread.
Since azure expects the angular app to be in WWWROOT instead of WWWROOT/DIST, we can build it in wwwroot/ but only if angular knows not to delete the existing contents.
"outputPath": "wwwroot/",
"deleteOutputPath": false,