我有一個部署,我正在運行UAA示例應用程序以及Java登錄服務器。我已經分別使用自定義的uaa.yml和login.yml配置了我的UAA和登錄服務器。我已經通過查看/uaa/uaa/src/main/webapp/WEB-INF/spring/oauth-clients.xml的內容,基於「登錄」客戶端的詳細信息填充了uaa.yml,如下所示:UAA是否要求登錄服務器具有範圍uaa.user?
<entry key="login">
<map>
<entry key="id" value="login" />
<entry key="secret" value="loginsecret" />
<entry key="scope" value="openid,uaa.user" />
<entry key="authorized-grant-types" value="client_credentials,authorization_code" />
<entry key="authorities" value="oauth.login" />
<entry key="autoapprove" value="true" />
</map>
</entry>
在我的uaa.yml中進行了相應的配置。這似乎工作正常,我可以登錄並上傳示例應用程序。
然而,當我隨後在示例應用程序訪問/認證頁面,我得到了approvals.jsp一個JavaScript錯誤,顯然是由沒有任何相應的條目在messages.properties造成的scope.uaa.user文件。
[2013-03-20 18:05:52.787] login/login-server - ???? [http-8080-1] .... DEBUG --- DispatcherServlet: Could not complete request
org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspTagException: No message found under code 'scope.uaa.user' for locale 'en_US'.
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:491)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
...
所以,問題是 - 範圍「uaa.user」確實需要登錄服務器?而且,如果是這樣,messages.properties文件中的條目應該說什麼?我無法找到任何提供uaa.user範圍的商定文本說明的地方。
作爲一種解決方法,我已經在messages.properties中爲該作用域創建了自己的文本,審批頁面現在呈現OK。
感謝, 約翰
這在DEBUG上記錄的非常可以忽略。它不會阻止應用程序正常工作,正確,只是在審批屏幕上呈現爲默認消息? – 2013-03-24 00:47:16