Skip to content
Snippets Groups Projects
Commit 561736e6 authored by Mathieu Loiseau's avatar Mathieu Loiseau
Browse files

login qui marche (en mode non secure) ?

parent 6153a1ff
No related branches found
No related tags found
No related merge requests found
...@@ -9,3 +9,4 @@ License: MIT ...@@ -9,3 +9,4 @@ License: MIT
Encoding: UTF-8 Encoding: UTF-8
LazyData: true LazyData: true
RoxygenNote: 6.0.1 RoxygenNote: 6.0.1
Imports: RCurl
...@@ -5,12 +5,38 @@ ...@@ -5,12 +5,38 @@
setClass("Mediawikir", representation(url = "character", user_name = "character", auth_token = "character")) setClass("Mediawikir", representation(url = "character", user_name = "character", auth_token = "character"))
setGeneric("connect", function(.Object, pass){}) setGeneric("connect", function(.Object, pass){})
#'Connects to mediawiki instance and gets token (to be called by constructor) #'Connects to mediawiki instance and gets token (to be called by constructor)
#' setMethod("connect", "Mediawikir", function(.Object, pass){
setMethod("connect", "Mediawikir", function(.Object, pass){ #get login token
library("RCurl") query <- httr::POST(.Object@url,
paste("connecting : ", .Object@user_name, "/", pass) body = list(action="query",
}) meta="tokens",
type="login",
lgname = .Object@user_name,
format= "json"))
httr::stop_for_status(query)
response <- httr::content(query, "parsed", "application/json")
print("query 1")#debug
token <- response$query$tokens$logintoken
print(token)#debug
query <- httr::POST(.Object@url,
body = list(action="clientlogin",
username = .Object@user_name,
password = pass,
logintoken = token,
loginreturnurl="http://wiki.lezinter.net",
format= "json"))
httr::stop_for_status(query)
response <- httr::content(query, "parsed", "application/json")
print("query 2")#debug
print(response)#debug
if(response$clientlogin$status=="PASS"){
return(token)
}
else{
return("0")
}
})
#'Creates a new Mediawikir object instance #'Creates a new Mediawikir object instance
#' #'
...@@ -20,8 +46,8 @@ setMethod("connect", "Mediawikir", function(.Object, pass){ ...@@ -20,8 +46,8 @@ setMethod("connect", "Mediawikir", function(.Object, pass){
#'@examples #'@examples
#' new("Mediawikir", "http://wiki.example.com", "admin", "theadmin'spassword") #' new("Mediawikir", "http://wiki.example.com", "admin", "theadmin'spassword")
setMethod("initialize", "Mediawikir", function (.Object, instance_url, user, pass){ setMethod("initialize", "Mediawikir", function (.Object, instance_url, user, pass){
.Object@url <- instance_url .Object@url <- paste(instance_url,"/","api.php",sep="")
.Object@user_name <- user .Object@user_name <- user
.Object@auth_token <- connect(.Object, pass) .Object@auth_token=connect(.Object, pass)
return(.Object) return(.Object)
}) })
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment