If they are logged into multiple accounts then show the screen to pick, else if one user and it matches the email in our domain, then log them in, else for the login screen. Since this is a work app I have complete control to make sure the users don't block the app.
What version of Asp.net Zero are you on?
I ended up adding a external boolean to the AppMenuItem class
export class AppMenuItem {
name = '';
permissionName = '';
icon = '';
route = '';
items: AppMenuItem[];
external: boolean;
constructor(name: string, permissionName: string, icon: string, route: string, external?: boolean, items?: AppMenuItem[]) {
this.name = name;
this.permissionName = permissionName;
this.icon = icon;
this.route = route;
this.external = external;
if (items === undefined) {
this.items = [];
} else {
this.items = items;
}
}
}
Then in the side-bar-menu.component.html I added this
<a href="{{menuItem.route}}" *ngIf="!menuItem.items.length && menuItem.external" class="m-menu__link m-menu__toggle" target="_blank">
<i class="m-menu__link-icon {{menuItem.icon}}"></i>
<span class="m-menu__link-text">
<span class="title">{{l(menuItem.name)}}</span>
</span>
</a>
It seems to work very well. I just had a need to link to two different external applications.
I got the new client to work but I am having a different issue with the test project. When the method RunDemoAsync() runs and it tries to grab the GetUsersListAsync(accessToken) it throws a 500 error but doesn't give me any more details than that. I tried looking in the log for the error but nothing.
One more question. What is the tempkey.rsa used for?
@ismcagdas, oh yeah sorry that is what I meant when I said I also changed the ClientId and ClientSecrets to match what's in the config file. I meant that I changed it in the <a class="postlink" href="https://github.com/aspnetzero/aspnet-zero-core/blob/master/aspnet-core/test/MyCompanyName.AbpZeroTemplate.ConsoleApiClient/Program.cs">https://github.com/aspnetzero/aspnet-ze ... Program.cs</a>. But I am still getting the "Invalid_Client"
There is nothing necessarily wrong with it. I just only have a need for 1 type of OrganizationUnit and all I want to do is add 1 column.
To do that would you have to use Express Middleware? <a class="postlink" href="http://expressjs.com/en/guide/using-middleware.html">http://expressjs.com/en/guide/using-middleware.html</a>
Where exactly are you suggesting to put that in? The root Module?
I did add this to the web.config file and it works kind of. So if you go to your root of the site <a class="postlink" href="http://yourdomain.com/">http://yourdomain.com/</a> it will redirect perfectly fine to <a class="postlink" href="https://yourdomain.com">https://yourdomain.com</a>. But if you did something like this <a class="postlink" href="http://yourdomain.com/account/login">http://yourdomain.com/account/login</a> it still errors out unless you delete the /account/login part.
<rewrite>
<rules>
<rule name="Angular Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
<rule name="Redirect to https" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
</rule>
</rules>
</rewrite>
This seems to be working great for the API. But the actual angular app doesn't . I can still visit the site in http? and now I just get an Error detail not sent by Server error. I don't seen an error in the log. It seems to be throwing a 304 error on my Angular side when it tries to get the js files or anything really from the angular side.
Oh yes I should have thought of that. Thanks for the help.
Yes. None of them are required.