在客户端节点oauth2服务器和客户端凭据

我实际上使用Node-oauth2-server( https://github.com/thomseddon/node-oauth2-server ),我有一些问题

1)我实际上使用grant_type作为密码和refresh_token,我必须在客户端设置client_id和client_secret。

这不是一个安全问题暴露我的客户端端client_secret&我的client_id? (AngularJS)

2)我想给一个API密钥给其他用户/公司来访问我的REST Api。

我应该如何处理这个图书馆?

3)什么是exaclty client_credentials?

它代表一个“技术客户端”(如浏览器,一个Android应用程序?在这种情况下,我只有2个client_id和2个client_secret?))或者像公司一样的人类客户端?

3)关于API资源的权限访问呢? 我应该由客户处理吗? 由用户?

我希望你能帮助我更多地理解这个复杂的议题

感谢提前