标签: wso2-api-manager

有关集成WSO2 API Manager,Identity Server和Shibboleth的建议

建议WSO2 API管理器针对Shibboleth IDP使用SSO的当前推荐方法是什么?

我们的组织有一个围绕Shibboleth IDP构建的现有SSO基础架构,我们希望将其集成到我们的API Manager安装中.理想用例:

  • 用户导航到API Manager Store.
  • 用户被重定向到Shibboleth IDP登录页面.
  • 如果不存在,则会创建API Manager帐户并为其分配订阅者角色.
  • 用户返回API Manager并登录."Signed-in-as:"呈现合理的用户名(即不是GUID).

我知道API Manager中有一个包含的SAML2身份验证器组件,但功能有限,特别是它不处理加密断言,使用用户名/显示名称的特定属性和自动用户创建.

我知道我们可以编写一个自定义身份验证器,但我们宁愿避免创建另一个需要维护的代码库,也没有社区支持.如果无法确定更简单的解决方案,那么这可能就是我们所做的.

我目前正在研究的是将API Manager的所有用户管理委派给WSO2 Identity Server.在返回AM之前,它会将身份验证委派给Shibboleth和自动配置用户.IS似乎可以解决上面提到的所有问题.

  1. 首先,这是一个合适的策略吗?如果是这样,如何建议配置AM和IS?
  2. IS和AM是否应指向同一个JDBC数据库,还是AM指向IS的LDAP服务器?
  3. 关于指向IS的AM身份验证器,我应该使用SAML还是OAuth,还是有更好/更简单的?

Shibboleth IDP v2.4 - 具有属性推送的SAML2首选.
WSO2 API Manager v1.6.0
WSO2 Identity Server v5.0.0

wso2 wso2is wso2-api-manager

2
推荐指数
1
解决办法
1267
查看次数

WSO2 分析数据源

我试图探索分析事件和摘要数据源。我安装了一个 H2 客户端,发现奇怪的表名(ANX___7LKA5XV8_ !!)

为什么使用这些名称,我期待更清晰的名称(类似于外部数据库中使用的名称,与 API 管理器共享的名称)?是否有关于这些表的任何文档?谢谢

wso2 wso2-api-manager wso2-das

2
推荐指数
1
解决办法
309
查看次数

在 wso2 apim 3.0.0 中使用 deployment.toml

我想为 WSO2 APIM 3.0.0 部署网关工作者配置文件。据我了解,新的 deployment.toml 文件用于在实例启动时覆盖所有配置文件。

  • 仅部署网关实例才需要共享数据库,因为如果删除此数据库,toml overidding 会失败?我在想网关不需要任何数据库。

  • 为什么这个 toml 文件没有删除 master-datasources.xml 中所有不需要的数据源,即使它们没有在 toml 文件中描述,所有数据源仍然使用 h2 活动?

谢谢。

wso2 wso2-api-manager toml

2
推荐指数
1
解决办法
761
查看次数

WSO2 API Manager 3.0.0 中的 API 存储

在 WSO2 API Manager 3.0.0 中是否仍然可以访问 API Store?我似乎无法访问它https://localhost:9443/store。是否已更换或仍可访问?如果是这样怎么办?

谢谢你。

wso2 wso2-api-manager

2
推荐指数
1
解决办法
226
查看次数

WSO2 API Manager,是否可以禁用访问令牌机制

是否可以在WSO2 API Manager中禁用访问令牌机制?所以我们不必设置身份验证承载头.我知道我可以将访问令牌超时设置为-1秒,以使其无限.

wso2 wso2-api-manager

1
推荐指数
1
解决办法
2633
查看次数

在WSO2 API管理器中发布API时出错

当我在WSO2 API管理器中发布API时,会发生以下错误:

Gateway Failures
Failed to Publish Environments
Production and Sandbox
Error while obtaining API information from gateway. Error while obtaining API information from gateway. Authentication failure
Run Code Online (Sandbox Code Playgroud)

wso2 wso2carbon wso2-api-manager aws-ec2

1
推荐指数
1
解决办法
2683
查看次数

WSO2 API Manager与solr有关

我已经设置了与WSO2 Identity Server集成的WSO2 API Manager的新设置.启动WSO2 API Manager时,我开始收到以下错误:

 SolrIndexWriter was not closed prior to finalize(), indicates a bug -- POSSIBLE RESOURCE LEAK!!! {org.apache.solr.update.SolrIndexWriter}
TID: [-1] [] [2017-03-07 10:38:31,745] ERROR {org.apache.solr.update.SolrIndexWriter} -  Error closing IndexWriter {org.apache.solr.update.SolrIndexWriter}
java.lang.NullPointerException
    at org.apache.lucene.index.IndexWriter.doFlush(IndexWriter.java:3010)
    at org.apache.lucene.index.IndexWriter.flush(IndexWriter.java:2978)
    at org.apache.lucene.index.IndexWriter.shutdown(IndexWriter.java:970)
    at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:1015)
    at org.apache.solr.update.SolrIndexWriter.close(SolrIndexWriter.java:130)
    at org.apache.solr.update.SolrIndexWriter.finalize(SolrIndexWriter.java:183)
    at java.lang.System$2.invokeFinalize(System.java:1213)
    at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:98)
    at java.lang.ref.Finalizer.access$100(Finalizer.java:34)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:210)
TID: [-1] [] [2017-03-07 10:38:32,198] ERROR {org.apache.solr.core.CoreContainer} -  Error creating core [registry-indexing]: Error opening new searcher {org.apache.solr.core.CoreContainer}
org.apache.solr.common.SolrException: Error opening new searcher
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:815)
    at …
Run Code Online (Sandbox Code Playgroud)

solr wso2 wso2-api-manager

1
推荐指数
1
解决办法
1461
查看次数

WSO2 5.3.0 电子邮件模板未更新

我使用的是 WSO2IS 5.3.0 版本。我更新了所有配置,但错误地在 [IS_HOME]/repository/conf/email/email-admin-config.xml 文件中提供了错误的密码重置网址。我使用 RDBMS 作为数据源启动了我的服务器。一切顺利。

然后我发现我的密码重置网址是错误的。我再次转到 [IS_HOME]/repository/conf/email/email-admin-config.xml 文件并更新了 url 并重新启动了 WSO2。但它并不适用于所有用户。一些用户仍然使用带有错误网址的旧模板。我多次重新启动 WSO2 并更新 xml 文件,但没有成功。我什至尝试通过 Carbon 管理 UI 更改模板,但它仍然发送错误的模板。

奇怪的是,它在我重新启动 WSO2 后立即发送正确的一个,但有时它开始使用旧模板。如何在不从头开始重新配置所有内容的情况下解决此问题?

wso2 wso2-api-manager wso2-identity-server

1
推荐指数
1
解决办法
477
查看次数

Wso2 Api Manager - OAuth令牌错误 - OAuth应用程序未处于活动状态

我试图测试发布者apis,这里记录了" RESTSO API for WSO2 API Manager - Publisher "

要执行任何API,我需要管理员访问权限.要生成它,建议运行以下命令:

curl -k -d "grant_type=password&username=admin&password=admin&scope=apim:api_view" -H "Authorization: Basic SGZFbDFqSlBkZzV0YnRyeGhBd3liTjA1UUdvYTpsNmMwYW9MY1dSM2Z3ZXpIaGM3WG9HT2h0NUFh" https://127.0.0.1:8243/token
Run Code Online (Sandbox Code Playgroud)

我用admin用户的admin和密码替换了基本授权.我试图执行它时遇到以下错误:

{
  "error": "invalid_client",
  "error_description": "Oauth application is not in active state."
}    
Status Code : 401 Unauthorized
Run Code Online (Sandbox Code Playgroud)

请告知这里有什么问题.谢谢.

wso2 wso2-api-manager

0
推荐指数
1
解决办法
2372
查看次数

900908 使用 WSO2 中的 JWT Grant 获得的访问令牌调用 API 时出现资源禁止错误

我已经根据文档成功配置了 API Manager、ID 和 IS:https : //docs.wso2.com/display/AM260/JWT+Grant#JWTGrant-UsingtheJWTgrant

我调用 WSO2 令牌端点以将外部 JWT 交换为 WSO2 访问令牌:

curl -i -X POST  -k -d 'grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImF1ZCI6WyJ3c28yIl0sImVudmlyb25tZW50Ijp7InByb2ZpbGVzIjpbImRldiJdfSwiYXV0aCI6eyJyb2xlcyI6WyJVU0VSIiwiQURNSU4iXX0sInVzZXJfbmFtZSI6IjAwMDAwMDk5Iiwic2NvcGUiOlsib3BlcmF0ZSJdLCJpc3MiOiJQQVMiLCJleHAiOjE1NDUzNDgyODcsImdlbmVyYXRlZEJ5IjoiUEFTIiwianRpIjoiOWQ4ZWU3ZTgtNDBlZS00MTZjLTlkYjgtYjU2NDZhYTZhN2JmIiwiY2xpZW50X2lkIjoiZnJvbnQtcG9saXphcyJ9.Ccs1OxjteRsvHTump-ZTawEsqlTrIeO0LJUzt5Ita8udvMOa_tB1rHOtI8GAa2mDCPMD_Z_jtZ2SlXPs10GvsYlF4jS_wcCVAPtHsoigzuNtg5t7CVfeCI2Bzhak721LdYBcjB9s0Jn24G9eb2jqx8NF0RPlKgmhbxwdY0b8XeigLp-kGCsFKY_fDIjFUM0oifzCWOmtaCRMtMx3CKVZOWq9dBIokheCi2foL8YkBCz57yo4vb782AYWXdiHj38TPPe4IguARuoc9FSymyiL1gWHJmyMZFvAeAJkDnHHEnnezqPmcWQweC1ylLwUYGNVLM8YSfuBDtcGBWSO0F-WKw' -H 'Content-Type: application/x-www-form-urlencoded' https://localhost:9443/oauth2/token -d 'client_id=w_paekjnDDY8zcCfCRgj_81g2eYa'
Run Code Online (Sandbox Code Playgroud)

这使用访问令牌、刷新令牌等成功回答。

我在 WSO2 APIM 存储中创建了一个应用程序。在生产/沙箱选项卡中,唯一选中的授权类型项目是 JWT。

关键是,我使用之前获得的访问令牌(它本身就是一个 JWT 令牌)来调用使用上述应用程序订阅的 API:

curl -k -X GET "https://192.168.179.129:8243/myapp/api/v1/customers" -H  "accept: application/json;charset=UTF-8" -H  "Authorization: Bearer eyJ4NXQiOiJOVEF4Wm1NeE5ETXlaRGczTVRVMVpHTTBNekV6T0RKaFpXSTRORE5sWkRVMU9HRmtOakZpTVEiLCJraWQiOiJOVEF4Wm1NeE5ETXlaRGczTVRVMVpHTTBNekV6T0RKaFpXSTRORE5sWkRVMU9HRmtOakZpTVEiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImF1ZCI6IndfcGFla2puRERZOHpjQ2ZDUmdqXzgxZzJlWWEiLCJuYmYiOjE1NDUzNDgxOTgsImF6cCI6IndfcGFla2puRERZOHpjQ2ZDUmdqXzgxZzJlWWEiLCJzY29wZSI6ImRlZmF1bHQiLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMlwvdG9rZW4iLCJleHAiOjE1NDUzNDgyODcsImlhdCI6MTU0NTM0ODE5OCwianRpIjoiNjRlM2I5N2UtOTNlNC00YzQ2LThlNmQtMzlmZjQzOWQxM2Y0In0.UBLOsCCD3t4Wf8nXBnDkkGXxefYySelDzEcs1F_IrbshMJXohxcL92Av1nmcpdNdjin7GdC8Y305rrkBt9T1L_cMAHLYYcI5cI1J7wmAgEd1CEv9gI7IUYfAdbga2AeV4kIlNsgiV6PKnU34WnY7rEVqXD908eEHY5UvaNXc0Bz6C8d-p39-SqKUblGHPh9vdkpcCGcK0CgGKjtiU2lai_JkRALdgEgonT37R5eqmuxPxUouWNz9TCJgTuonKPA-9bYOsMvbzGlm--0m0j9gdxnv-3N1Kv_2JqSCR4pToDClhSKgFCE1L025LIICM-sLd_PDU5pwYge_iKseiIDZfA" -d 'client_id=w_paekjnDDY8zcCfCRgj_81g2eYa'
Run Code Online (Sandbox Code Playgroud)

我收到以下错误 (900908) - 资源被禁止:

<ams:fault xmlns:ams="http://wso2.org/apimanager/security"><ams:code>900908</ams:code><ams:message>Resource forbidden </ams:message>
<ams:description>Access failure for API: /myapp/api/v1, version: v1 status: (900908) - Resource forbidden </ams:description></ams:fault>% 
Run Code Online (Sandbox Code Playgroud)

我一定错过了最后一步,即如何允许使用 JWT 授权中获得的访问令牌来访问应用程序订阅的 API。

wso2 wso2-api-manager

0
推荐指数
1
解决办法
2292
查看次数