为Angular 2保护.Net Core Web Api

时间:2016-10-16 06:16:11

标签: .net security authentication angular asp.net-core

我想在Angular2中完全构建一个应用程序,它将通过向.Net Core Web Api发送调用来与数据库进行通信。有很多关于构建Web Api层的好文章,我的ng2也没关系,但是我很难找到如何为我的Angular 2调用保护Web Api以及可能用于第三方调用的材料。我打开了任何安全机制(Oauth2?)。任何指导都表示赞赏。

3 个答案:

答案 0 :(得分:0)

您是否在GitHub上看过这个Azure-Sample?

https://github.com/Azure-Samples/active-directory-angularjs-singlepageapp-dotnet-webapi

希望这有帮助。

答案 1 :(得分:0)

通常使用OAuth2(access_token)来保护 profilestorage=FirebaseStorage.getInstance().getReference().child("Profile_Images"); profilestorage.child(maAuth.getCurrentUser().getUid()).delete().addOnSuccessListener(new OnSuccessListener<Void>() { @Override public void onSuccess(Void aVoid) { Toast.makeText(SharedElementActivity.this,"Image Deleted from storage",Toast.LENGTH_LONG).show(); } }).addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { Toast.makeText(SharedElementActivity.this,"Failed",Toast.LENGTH_LONG).show(); } }); 。 为此,您需要实现自己的OAuth2令牌生成器服务器,或者您可以使用Identity Server 4(使用Identity Server将为您提供SSO功能)。 登录时,Angular应用程序将接收访问令牌并将其发送到WebApi的每个请求的标头中,WebApi将验证访问令牌并授权请求(为此已执行此身份验证服务器)在github上有一个js库和很多样本。

查看https://github.com/IdentityServer/IdentityServer4

答案 2 :(得分:0)

您可以使用WebAPI上的身份验证和授权来保护应用。与其他答案一样,您可以使用基于令牌的身份验证。你可以找到很多在线资料。保护API的一个主要方面是确保授权用户只能访问他有权访问的那些资源。我注意到许多开发人员忽略了这一点。应用身份验证和授权是不够的,但我们需要确保授权用户无法以相同的权限访问其他用户的数据。