以下是否可以使用WSO2 IS?我已经浏览了不同的WSO2博客.他们是很好的指针.我仍需要就此提出建议.
要求 - WSO2 Identity Server + Rest STS客户端(无ESB)
参考:
假设我在GlassFish上有一个Restful webservice(对于我的记录类),可访问
http://localhost:8080/MyWS/entities.Records/
Run Code Online (Sandbox Code Playgroud)
我想在PHP中使用这个Webservice来读写记录.
我如何使用PHP中的RESTful Web服务?
如何设置动作(GET,POST,PUT,DELETE)?
如何在标题中设置用户/密码数据(glassfish正在解析HttpRequest的标头以验证用户身份)?
以及如何将我的PHP Record-Class对象序列化为XML(用于发送:PUT,POST,DELETE)以及将XML反序列化为Record-Class对象(用于读取glassfish/ws-output)?是否有一个php-builtin-method或者我必须编写自己的XML-Parser?
谢谢
我希望为我的restful API创建一个身份验证模型.希望使用API令牌,我在Web服务中使用MVC,我创建了一个这样的auth.go控制器.
package controllers
import (
"github.com/gin-gonic/gin"
"os"
//"github.com/jinzhu/gorm"
)
type AdsControllerAuth struct {
}
func (ac *AdsControllerAuth)TokenAuthMiddleware gin.HandlerFunc {
return func(c *gin.Context) {
token := c.Request.FormValue("api_token")
if token == "" {
respondWithError(401, "API token required", c)
return
}
if token != os.Getenv("API_TOKEN") {
respondWithError(401, "Invalid API token", c)
return
}
c.Next()
}
}
func respondWithError(code int,message string,c *gin.Context) {
resp := map[string]string{"error": message}
c.JSON(code, resp)
//c.Abort(code)
}
Run Code Online (Sandbox Code Playgroud)
它目前无法正常工作,有人可以帮助这样做,还是有任何例子可以参考?
我们当前的 REST API 实现使用 queryString 中的 apiKey 来处理所有类型的请求(PUT、POST、GET)。我觉得这是错误的,但无法解释原因(也许 apiKey 可以在服务器和客户端之间的某个地方兑现)。就像是:
POST /objects?apiKey=supersecret {name: 'some'}
那么,这是一个安全问题吗?请描述 HTTP 和 HTTPS 连接情况
我正在尝试针对 Restful API 验证 Radius 请求。我的虚拟服务器配置如下:
authorize {
filter_username
filter_password
preprocess
auth_log
if (User-Password) {
update control {
Auth-Type := rest
}
}
}
authenticate {
rest
}
Run Code Online (Sandbox Code Playgroud)
我的半径 -X 输出是:
(0) Received Access-Request Id 202 from 127.0.0.2:10708 to 127.0.0.2:1812 length 73
(0) User-Name = "bob"
(0) User-Password = "hello"
(0) NAS-IP-Address = 127.0.0.2
(0) NAS-Port = 1
(0) Message-Authenticator = 0xcd622e98255234964d081be2513a0a9c
(0) # Executing section authorize from file /usr/local/etc/raddb/sites-enabled/testserver
(0) authorize {
(0) policy filter_username {
(0) if (&User-Name) …Run Code Online (Sandbox Code Playgroud) 在使用拦截器和身份验证器添加访问令牌标头时,当服务器以 401 响应时,我的身份验证器会被正确调用。
身份验证器通过单独的网络调用更新访问令牌,并将其设置在标头中以再次尝试。代码将与此示例非常相似
我只花了一个小时搞清楚我用错误的方法来再度令牌添加到认证,addHeaderVSheader。
作品:
if (accessToken != null){
// retry the failed 401 request with new access token
return response.request().newBuilder()
.header("Authorization", accessToken) // use the new access token
.build();
}
Run Code Online (Sandbox Code Playgroud)
不起作用:
if (accessToken != null){
// retry the failed 401 request with new access token
return response.request().newBuilder()
.addHeader("Authorization", accessToken) // use the new access token
.build();
}
Run Code Online (Sandbox Code Playgroud)
这里会发生什么,为什么addHeader()行为与header()
众所周知,Rest 服务是无状态的,一般的身份验证策略是使用基于令牌的身份验证。
在登录服务中,它需要返回令牌的凭据。
此令牌可能会在客户端 cookie 中设置,并且所有后续请求都使用此令牌进行验证并在令牌有效的情况下处理新请求。
现在我的问题是如何验证令牌?如果有人窃取了令牌并试图通过编辑cookie来使用窃取的令牌访问休息服务,那么如何识别和限制它呢?
我们永远无法知道令牌是否由有效用户获取并且同一用户是否正在尝试访问后续请求。但是有哪些可能的方法可以使其变得更加困难,例如验证请求是否来自同一来源?
一个一般建议是设置令牌/cookie 的老化时间,但直到该令牌/cookie 的老化时间为止它仍然没有帮助。
任何建议,将不胜感激。
什么是keyed-HMAC(哈希消息认证码)?以及如何使用java在Web服务中编写HMAC?
我对RESTful API比较新,所以我当然不能正确设计它.
我想根据正在进行身份验证的人从/ api/users/[user_id]返回JSON用户对象的不同子集.因此,如果用户"alice"试图访问/ api/users/alice,她将获得更多她的信息(例如私人设置等),而不是用户"bob",她只是简单地获取她的公开个人资料.
我目前正在使用flask_restful和httpbasicauth.现在我有以下内容:
class UserAPI(flask_restful.Resource):
@g.auth.login_required
def get(self, username):
# here is where I want to get the HTTPBasicAuth username
# to determine how much data to return
user = User.objects(username=username).exclude('password').first()
if user is not None:
return user.to_json()
else:
flask_restful.abort(404, message='User not found: ' + username)
Run Code Online (Sandbox Code Playgroud)
问题是我似乎无法找到一种清晰的方法来获取HTTP基本身份验证数据.我知道我可以解析请求并解码base-64数据,但我觉得我不应该这样做.或者,更好的是,找到一种方法将user_id从/ api/users/[user_id]传递到login_required注释中.
我觉得这将是一个非常常见的用例,所以我无法弄清楚为什么我在这个领域找不到任何东西.我设计这个完全错了吗?
非常感谢!
所以我想使用 Spotify 的 Web API。我已阅读一些文档,您需要使用 PKCE 实现身份验证代码。我不是 100% 确定如何做到这一点,并且可以使用一些帮助。
authentication android restful-authentication spotify kotlin